删除页还原

master
hujl 4 years ago
parent e0b33fb0a5
commit 7deb16e7cb

@ -21,9 +21,7 @@ import java.lang.reflect.Method;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
/**
*
@ -144,10 +142,8 @@ public class LogAopAction {
newmap.put(name, newvalues);
}
logBo.setLogTitle(request.getParameter("id"));
logBo.setSysFlag("EMR_Medical_Record");
// 添加到数据库
logService.insert(logBo);
} catch (Throwable e) {
//接受客户端的数据
Map<String,String[]> map = request.getParameterMap();
@ -169,11 +165,47 @@ public class LogAopAction {
newmap.put(name, newvalues);
}
logBo.setLogTitle(request.getParameter("id"));
logBo.setSysFlag("EMR_Medical_Record");
//添加到数据库
// if(request.getParameter("archiveDetailId")!=null && request.getParameter("archiveDetailId")!="") {
// logBo.setLogTitle(request.getParameter("archiveDetailId"));
// // 添加到数据库
// logService.insert(logBo);
// }
// if(request.getParameter("id")!=null &&request.getParameter("id")!=""){
// if(logBo.getLogTitle().indexOf(",")!=-1){
// String[] idArr = request.getParameter("id").split(",");
// for (int i = 0; i < idArr.length; i++) {
// logBo.setLogTitle(idArr[i]);
// // 添加到数据库
// logService.insert(logBo);
// }
// }else{
// logBo.setLogTitle(request.getParameter("id"));
// // 添加到数据库
// logService.insert(logBo);
// }
// }
}
logBo.setSysFlag("EMR_Medical_Record");
if(request.getParameter("archiveDetailId")!=null && request.getParameter("archiveDetailId")!="") {
logBo.setLogTitle(request.getParameter("archiveDetailId"));
// 添加到数据库
logService.insert(logBo);
}
if(request.getParameter("id")!=null &&request.getParameter("id")!=""){
if( request.getParameter("id").indexOf(",")!=-1){
String[] idArr = request.getParameter("id").split(",");
for (int i = 0; i < idArr.length; i++) {
logBo.setLogTitle(idArr[i]);
// 添加到数据库
logService.insert(logBo);
}
}else{
logBo.setLogTitle(request.getParameter("id"));
// 添加到数据库
logService.insert(logBo);
}
}
}
return object;
}

@ -18,7 +18,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
* @author HJL
@ -54,21 +56,36 @@ public class LoginController {
public String login(Model model, HttpServletRequest request) {
String token = request.getParameter("token");
String userName = request.getParameter("userName");
UsernamePasswordToken userToken = new UsernamePasswordToken(userName, "123456");
String name = request.getParameter("name");
UsernamePasswordToken userToken = new UsernamePasswordToken(userName, "456789");
Subject subject = SecurityUtils.getSubject();
subject.login(userToken);
model.addAttribute("POWER_URLHEAD", POWER_JSP);
request.getSession().setAttribute("token", token);
request.getSession().setAttribute("userName", userName);
// request.getSession().setAttribute("userName", userName);
// request.getSession().setAttribute("userName", "123");
return "index";
}
@RequestMapping(value = "/index")
public String Login(HttpServletRequest request, Model model) {
public String Login(HttpServletResponse response, HttpServletRequest request, Model model) throws IOException {
return "index";
}
@RequestMapping(value = "/toError")
public String error(Model model) {
// 从session获取用户名
// Subject currentUser = SecurityUtils.getSubject();
// Session session = currentUser.getSession();
// session.removeAttribute("username");
// session.removeAttribute("menuList");
// session.removeAttribute("userSession");
//session.invalidate();
return "redirect:/error.jsp";
}
}

@ -8,10 +8,7 @@ package com.emr.controller;
import com.emr.annotation.OptionalLog;
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.LogService;
import com.emr.service.*;
import com.emr.util.ExportExcelUtil;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
@ -20,12 +17,14 @@ 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;
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.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -43,6 +42,9 @@ public class MedicalRecallController {
@Autowired
private Archive_MasterService archiveMasterService;
@Autowired(required = false)
private Archive_Master_FollowingService archive_master_followingService;
@Value("${recallReason}")
private String recallReason;
@ -97,29 +99,57 @@ public class MedicalRecallController {
exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
@Transactional
@OptionalLog(methods = "病案召回")
@ResponseBody
@RequestMapping(value = "/updateState")
public int updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
public int updateState(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
//2021-01-30
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String handleName = user.getUserPosition();//姓名
//2021-01-30
emrFaultDetail.setUpdater(username);
SimpleDateFormat from1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
emrFaultDetail.setUpdateTime(from1.format(new Date()));
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
emrFaultDetail.setUpdateTime(nowTime);
if(emrFaultDetail.getRecallReason()==null ||emrFaultDetail.getRecallReason()==""){
emrFaultDetail.setRecallReason(recallReason);
}
//emrFaultDetail.setRecallReason("医院需要这份病案");
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setCmtNurse(1);
archiveMaster.setCmtDoctor(1);
archiveMaster.setArchivestate("初审");
int bol=archiveMasterService.updateByClo(archiveMaster);
emrFaultDetail.setArchiveDetailId(null);
if(bol==1){
bol = emrFaultDetailService.updateCloByPrimaryKey(emrFaultDetail);
}else{
bol=0;
if (bol == 1) {
//删除该病案号和state不为空的记录
bol = emrFaultDetailService.delByArchiveId(emrFaultDetail);
//重新插入一条记录
//emrFaultDetail.setArchiveDetailId(null);+
if (bol == 1|| bol==0) {
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setFirstTrial(null);
bol = emrFaultDetailService.insertSel(emrFaultDetail);
}
Archive_Master_Following archive_master_following = new Archive_Master_Following();
archive_master_following.setMasterId(emrFaultDetail.getArchiveDetailId());
//following表中添加病案室审核操作记录
archive_master_following.setFollowingType("10");
archive_master_following.setFollowingContent("病案召回");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
}
return bol;
}

@ -109,7 +109,7 @@ public class UploadFilesController {
@ResponseBody
@RequestMapping("upload")
public String upload(HttpServletRequest request, @RequestParam(value = "file", required = false) MultipartFile file) throws IOException {
System.out.println("执行upload");
//System.out.println("执行upload");
request.setCharacterEncoding("UTF-8");
logger.info("执行图片上传");
String userId = request.getParameter("userId");

@ -19,6 +19,9 @@ import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class UrlInterceptor implements HandlerInterceptor {
@Value("${POWER_URLHEAD}")
@ -64,6 +67,7 @@ public class UrlInterceptor implements HandlerInterceptor {
// }
// }
// return true;
String url = request.getServletPath();
String token = (String) request.getSession().getAttribute("token");
if (!"/login".equals(url) && StringUtils.isNoneBlank(token)) {
@ -76,14 +80,27 @@ public class UrlInterceptor implements HandlerInterceptor {
//设置进session
request.getSession().setAttribute("CURRENT_USER", powerUser);
if (null == powerUser.getUserId()) {
response.sendRedirect(POWER_URLHEAD + "/login");
response.sendRedirect( "/emr_medical_record/error.jsp");
//request.setAttribute("param", "重新登录");
return false;
}
} catch (Exception e) {
response.sendRedirect("/emr_medical_record/error.jsp");
e.printStackTrace();
response.sendRedirect(POWER_URLHEAD + "/login");
// response.sendRedirect(POWER_URLHEAD + "/login");
//request.setAttribute("param", "重新登录");
return false;
}
}else{
// response.sendRedirect("/emr_medical_record/error.jsp");
// String url2 = request.getRequestURL().toString();
// System.out.println("当前访问地址:" + url2);
// toAlert(response);
// return false;
}
// } else {
// response.sendRedirect(POWER_URLHEAD + "/login");
@ -93,6 +110,31 @@ public class UrlInterceptor implements HandlerInterceptor {
}
//前台弹出alert框
public void toAlert(HttpServletResponse response) throws IOException {
//response.sendRedirect("/emr_medical_record/error.jsp");
try {
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream());
String msg = "由于您长时间没有操作session已过期请重新登录";
msg = new String(msg.getBytes("UTF-8"));
out.write("<meta http-equiv='Content-Type' content='text/html';charset='UTF-8'>");
out.write("<script>");
out.write("alert('" + msg + "');");
out.write("top.location.href = '/emr_medical_record/error.jsp'; ");
out.write("</script>");
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

@ -6,9 +6,12 @@
*/
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
@ -17,6 +20,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;
@ -46,6 +50,13 @@ public class VCountController {
return result;
}
@ResponseBody
@RequestMapping(value = "/vCountNumList")
public List<V_Count> medicalCountDayList(HttpServletResponse response, V_Count vCount) throws Exception {
//统计列表
return v_countService.selectByCol(vCount);
}
@ResponseBody
@RequestMapping(value = "/exportExcel")
@ -54,47 +65,47 @@ public class VCountController {
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 + "%");
}
}
// 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 + "%");
// }
// }
//文件名
String fileName = "统计数据" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
@ -112,7 +123,7 @@ public class VCountController {
String tableThNames = "名字,入院科室,入院日期,出院科室,出院日期,主管医生";
String fieldCns = "name,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,doctorInCharge";
//构造excel的数据
List<Archive_Master> list = archiveMasterService.selectByUnfile(archiveMasterVo);
List<Archive_Master> list = archiveMasterService.selectByUnfile2(archiveMasterVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
@ -146,6 +157,88 @@ public class VCountController {
//导出excel的操作
exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
@ResponseBody
@RequestMapping(value = "/exportExcel3")
public void exportExcel3(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception {
String tableThNames = "名字,入院科室,入院日期,出院科室,出院日期,主管医生,推迟天数";
String fieldCns = "name,deptAdmissionTo,admissionDateTime,deptName,dischargeDateTime,doctorInCharge,cmtNurse";
//构造excel的数据
List<Archive_Master> list = archiveMasterService.sel7DayByCol(archiveMasterVo);
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();
//入院科室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) {
deptName = deptName.replace(deptName, dicList.get(k).getName());
list.get(i).setDeptName(deptName);
}
dept2 = dept2.replace(dept2, dicList.get(k).getName());
list.get(i).setDeptAdmissionTo(dept2);
}
}
}
//文件名
String fileName = "超过7天的初审和已归档列表" + 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
@RequestMapping(value = "/HomepageDic")
public String HomepageDic(HttpServletRequest request, HttpServletResponse response) {
String result="";
try {
String endpoint = "http://120.27.212.36:9999/filing/services/HomepageDictionary?wsdl";
//String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";
//直接引用远程的wsdl文件
//以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName(new QName("http://interfaces.ann.com/", "CheckData"));
//call.setOperationName("CheckData");//WSDL里面描述的接口名称
call.addParameter("masterId", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//接口的参数
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
String temp = "02e4ba46662327995711";
result = (String) call.invoke(new Object[]{temp});
//给方法传递参数,并且调用方法
//System.out.println("result is " + result);
} catch (Exception e) {
//System.err.println(e.toString());
}
return result;
}
}

@ -9,17 +9,27 @@ 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 org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
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.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
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 javax.xml.namespace.QName;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -39,14 +49,29 @@ public class beHospitaledController {
@Autowired
private Emr_Fault_DetailService emrFaultDetailService;
@Autowired
private Emr_Staff_RemarkService emrStaffRemarkService;
@Autowired
private Emr_PictureService emrPictureService;
@Autowired(required = false)
private Archive_Master_FollowingService archive_master_followingService;
@Value("${HomepageDictionary}")
private String HomepageDictionary;
@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) {
@ -58,11 +83,12 @@ public class beHospitaledController {
@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";
//构造excel的数据
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> list = archiveMasterService.selectByColumn(archiveMasterVo);
//文件名
String fileName = "出院浏览" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
//ExportExcelUtil
@ -72,34 +98,371 @@ public class beHospitaledController {
exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
@ResponseBody
@RequestMapping(value = "/wzByArchivId")
public String wzByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
String result = "";
try {
String endpoint = HomepageDictionary;
//String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";
String method = HomepageMethod;
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient(endpoint);
String temp = emrFaultDetail.getArchiveDetailId();
Object[] res = null;
res = client.invoke(method, temp);
result = (String) res[0];
//给方法传递参数,并且调用方法
//System.out.println("result is " + result);
} catch (Exception e) {
System.err.println(e.toString());
}
return result+"";
}
@ResponseBody
@RequestMapping(value = "/updateStateByArchivId")
public int updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
public String updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
String result = "";
try {
String endpoint = HomepageDictionary;
//String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";
String method = HomepageMethod;
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
Client client = factory.createClient(endpoint);
String temp = emrFaultDetail.getArchiveDetailId();
Object[] res = null;
res = client.invoke(method, temp);
result = (String) res[0];
//修改病案归档状态
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setArchivestate(emrFaultDetail.getState());
int bol= archiveMasterService.updateByClo(archiveMaster);
//添加初审内容
if(bol==1){
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
//给方法传递参数,并且调用方法
//System.out.println("result is " + result);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
} catch (Exception e) {
//参数输入
System.err.println(e.toString());
}
if(result.equals("完整")) {
//修改病案归档状态
Archive_Master archiveMaster = new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setArchivestate(emrFaultDetail.getState());
archiveMaster.setLockinfo(result);
archiveMaster.setCmtDoctor(1);
archiveMaster.setCmtNurse(1);
int bol = archiveMasterService.updateByClo(archiveMaster);
//添加初审内容
if (bol == 1) {
//参数输入
archiveMaster.setFirstInstance(username);
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setState("未召回");
bol = emrFaultDetailService.insertSel(emrFaultDetail);
}
}else{
//修改病案归档完整内容Lockinfo
Archive_Master archiveMaster = new Archive_Master();
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
archiveMaster.setFirstInstance(username);
//archiveMaster.setArchivestate(emrFaultDetail.getState());
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setLockinfo("强制提交,"+result);
archiveMaster.setCmtDoctor(1);
archiveMaster.setCmtNurse(1);
archiveMasterService.updateByClo(archiveMaster);
}
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(emrFaultDetail.getArchiveDetailId());
//following表中添加科主任审核操作记录
archive_master_following.setFollowingType("5");
archive_master_following.setFollowingContent("科主任审核");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
return result;
}
@ResponseBody
@RequestMapping(value = "/forceWZ")
public String forceWZ(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
//修改病案归档状态
Archive_Master archiveMaster = new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setArchivestate("初审");
archiveMaster.setCmtDoctor(1);
archiveMaster.setCmtNurse(1);
archiveMaster.setFirstInstance(username);
archiveMaster.setLockinfo(emrFaultDetail.getContent());
int bol = archiveMasterService.updateByClo(archiveMaster);
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setArchiveState("初审");
bol = emrFaultDetailService.insertSel(emrFaultDetail);
//添加初审内容
if (bol == 1) {
//参数输入
emrFaultDetail.setState("未召回");
bol= emrFaultDetailService.insertSel(emrFaultDetail);
emrFaultDetail.setArchiveState(null);
bol = emrFaultDetailService.insertSel(emrFaultDetail);
}
return bol+"";
}
@ResponseBody
@RequestMapping(value = "/getMaster")
public Archive_Master selectById(HttpServletRequest request, HttpServletResponse response, Archive_Master archiveMaster){
Archive_Master obj =new Archive_Master();
//判断id 不为空
if (!archiveMaster.getId().equals("") && !archiveMaster.equals(null)) {
obj = archiveMasterService.selectById(archiveMaster.getId());
}
return obj;
}
@Transactional
@ResponseBody
@RequestMapping(value = "/cmtDoctorOrNurs")
public String cmtDoctorOrNurs(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String handleName = user.getUserPosition();
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(archiveMasterVo.getId());
archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor());
archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse());
Emr_Staff_Remark emrStaffRemark=new Emr_Staff_Remark();
emrStaffRemark.setEffective(1);
emrStaffRemark.setMasterId(archiveMasterVo.getId());
emrStaffRemark.setContent(archiveMasterVo.getContent());
Archive_Master_Following archive_master_following = new Archive_Master_Following();
archive_master_following.setMasterId(archiveMasterVo.getId());
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
String result="";
int bol =0;
//判断id 不为空
if(!archiveMaster.getId().equals("")&&!archiveMaster.equals(null)) {
Archive_Master obj=archiveMasterService.selectById(archiveMaster.getId());
if(obj!=null) {
//修改病案归档状态
if (archiveMaster.getCmtDoctor()==1) {
//医生提交(医生和护士同时提交后,归档状态变更为:提交)
if(obj.getCmtNurse()==1){
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtNurse(1);
}
archiveMaster.setCmtDoctor(1);
archiveMaster.setDoctorName(username);
archiveMaster.setCmtDoctorDate(nowTime);
return bol;
//添加医生备注记录
emrStaffRemark.setTypeFlag(0);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if(list!=null && list.size()>0){
//修改
list.get(0).setUpdateTime(nowTime);
list.get(0).setUpdater(username);
list.get(0).setContent(archiveMasterVo.getContent());
list.get(0).setUpdateTime(nowTime);
bol=emrStaffRemarkService.updateByClo(list.get(0));
}else{
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol=emrStaffRemarkService.insertClo(emrStaffRemark);
}
//following表中添加归档医生提交操作记录
archive_master_following.setFollowingType("1");//followingType=1 归档医生提交
archive_master_following.setFollowingContent("主管医生提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
} else if (archiveMaster.getCmtNurse()==1) {
//护士提交(医生和护士同时提交后,归档状态变更为:提交)
if (obj.getCmtDoctor()==1) {
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtDoctor(1);
}
archiveMaster.setCmtNurse(1);
archiveMaster.setNurseName(username);
archiveMaster.setCmtNurseDate(nowTime);
//添加护士备注记录
emrStaffRemark.setTypeFlag(1);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if(list!=null && list.size()>0){
//修改
list.get(0).setUpdater(username);
list.get(0).setUpdateTime(nowTime);
list.get(0).setContent(archiveMasterVo.getContent());
bol=emrStaffRemarkService.updateByClo(list.get(0));
}else{
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol=emrStaffRemarkService.insertClo(emrStaffRemark);
}
//following表中添加归档护士提交操作记录
archive_master_following.setFollowingType("3");
archive_master_following.setFollowingContent("护士长提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
}
if(bol==1) {
result = "成功";
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
bol = archiveMasterService.updateByClo(archiveMaster);
}else{
result = "备注失败";
}
}else{
result = "病案不存在!";
}
}else{
result="病案不存在!";
}
return result;
}
@RequestMapping("getImg2")
public void getImg2(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
FileInputStream fis = null;
OutputStream os = null;
try {
fis = new FileInputStream(path);
os = response.getOutputStream();
int count = 0;
byte[] buffer = new byte[1024 * 8];
while ((count = fis.read(buffer)) != -1) {
os.write(buffer, 0, count);
os.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@ResponseBody
@RequestMapping(value = "/getDoctorInCharge")
public List<Archive_Master> getDoctorInCharge(HttpServletResponse response, Archive_Master archiveMaster) throws Exception {
//根据目前账号所在科室获取主管医生列表
return archiveMasterService.getDoctorInCharge(archiveMaster);
}
@Transactional
@ResponseBody
@RequestMapping(value = "/withdrawDoctorOrNurs")
public String withdrawDoctorOrNurs(HttpServletRequest request, HttpServletResponse response,Archive_Master_Vo archiveMasterVo) {
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(archiveMasterVo.getId());
archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor());
archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse());
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String username = user.getUserName();//工号
String handleName = user.getUserPosition();//姓名
Archive_Master_Following archive_master_following = new Archive_Master_Following();
archive_master_following.setMasterId(archiveMasterVo.getId());
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
String result="";
int bol =0;
//判断id 不为空
if(!archiveMaster.getId().equals("")&&!archiveMaster.getId().equals(null)) {
Archive_Master obj = archiveMasterService.selectById(archiveMaster.getId());
if (obj!=null){
if (archiveMasterVo.getCmtDoctor()==0&&archiveMasterVo.getCmtNurse()==-1){
//医生撤回操作
archiveMaster.setCmtDoctorDate("");
archiveMaster.setDoctorName("");
//following表中添加归档医生撤回操作记录
archive_master_following.setFollowingType("2");
archive_master_following.setFollowingContent("主管医生撤回提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
}
if (archiveMasterVo.getCmtNurse()==0&&archiveMasterVo.getCmtDoctor()==-1){
//护士撤回操作
archiveMaster.setCmtNurseDate("");
archiveMaster.setNurseName("");
//following表中添加归档护士撤回操作记录
archive_master_following.setFollowingType("4");
archive_master_following.setFollowingContent("护士长撤回提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
}
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
bol=archiveMasterService.updateByClo(archiveMaster);
if (bol==1){
result = "成功";
}else{
result = "撤回失败";
}
}else{
result = "病案不存在!";
}
}else{
result="病案不存在!";
}
return result;
}
}

@ -11,14 +11,19 @@ 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.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
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.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
@ -37,14 +42,14 @@ public class faultController {
private Emr_DictionaryService emrDictionaryService;
@RequestMapping(value = "/faults")
public String faults(Model model){
public String faults(Model model) {
return "faultDir/faultList";
}
@ResponseBody
@RequestMapping(value = "/faultList")
public OffsetLimitPage faultList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.selectByCol(emrFaultVo,offset, limit);
OffsetLimitPage result = emrFaultDetailService.selectByCol(emrFaultVo, offset, limit);
return result;
}
@ -62,11 +67,11 @@ public class faultController {
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
//获取缺陷类别列表
Emr_Fault_Type obj=new Emr_Fault_Type();
Emr_Fault_Type obj = new Emr_Fault_Type();
obj.setEffective(1);
//缺陷选项
List<Emr_Fault_Type> typeLis= emrFaultTypeService.selectByCol(obj);
for(int i=0;i<list.size();i++){
List<Emr_Fault_Type> typeLis = emrFaultTypeService.selectByCol(obj);
for (int i = 0; i < list.size(); i++) {
String assortId = list.get(i).getAssortId();
if (assortId != "" && assortId != null) {
String[] assorArr = assortId.split(",");
@ -84,8 +89,9 @@ public class faultController {
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()))) {
String dept2 = list.get(i).getDeptAdmissionTo();
;
if ((deptName != null && deptName.equals(dicList.get(k).getCode())) || (dept2 != null && dept2.equals(dicList.get(k).getCode()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
list.get(i).setDeptName(deptName);
@ -113,6 +119,263 @@ public class faultController {
// Emr_Fault_Detail result = emrFaultDetailService.selectByArchiveDetailId(archiveDetailId);
// return result;
// }
@ResponseBody
@RequestMapping(value = "/getFaultList")
public List<Emr_Fault_Vo> getFaultList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
List<Emr_Fault_Vo> list = emrFaultDetailService.selectByColumn(emrFaultDetail);
return list;
}
@ResponseBody
@RequestMapping(value = "/getFaultPage")
public OffsetLimitPage getFaultPage(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.selectByColumn(emrFaultDetail, offset, limit);
return result;
}
//bol = emrFaultDetailService.insertSel(emrFaultDetail);
@Transactional
@ResponseBody
@RequestMapping(value = "/addFaultList")
public String addFaultList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo) {
String result = "";
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
if (emrFaultVo.getArchiveDetailId() != null) {
//判断是修改还是添加
if (emrFaultVo.getId() != null) {
//已存在删了,重新添加
emrFaultDetailService.deleteById(emrFaultVo.getId());
}
//添加
if (!(emrFaultVo.getBackFlag()).equals(null) && !emrFaultVo.getBackFlag().equals("")) {
//判断是医生还是护士
String roleVal = emrFaultVo.getBackFlag();
if (roleVal.indexOf(",") != -1) {
Emr_Fault_Detail emrFaultDetail = new Emr_Fault_Detail();
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setArchiveDetailId(emrFaultVo.getArchiveDetailId());
emrFaultDetail.setContent(emrFaultVo.getContent());
emrFaultDetail.setDealFlag("0");
//医生和护士
String[] arr = roleVal.split(",");
for (int j = 0; j < arr.length; j++) {
emrFaultDetail.setBackFlag(arr[j]);
//缺陷类别
if (emrFaultVo.getAssortId() != null && emrFaultVo.getAssortId() != "") {
if ((emrFaultVo.getAssortId()).indexOf(",") != -1) {
int bol = 0;
int sum = 0;
String[] assortArr = (emrFaultVo.getAssortId()).split(",");
String[] priceArr = (emrFaultVo.getBackContent()).split(",");
//多个缺陷循环插入数据
for (int i = 0; i < assortArr.length; i++) {
String assrotId = assortArr[i];
Emr_Fault_Type emrFaultType = emrFaultTypeService.selectById(Integer.valueOf(assrotId));
emrFaultDetail.setMinusPoint(emrFaultType.getPrice());
emrFaultDetail.setAssortId(assrotId);
if (priceArr[i] != null && priceArr[i] != "") {
BigDecimal price = new BigDecimal(priceArr[i]);
emrFaultDetail.setPrice(price);
}
//医生或护士
bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
sum++;
}
}
//判断bol次数和插入次数的和
if (sum == assortArr.length) {
result = "保存成功!";
} else {
result = "保存失败!";
}
} else {
Emr_Fault_Type emrFaultType = emrFaultTypeService.selectById(Integer.valueOf(emrFaultVo.getAssortId()));
emrFaultDetail.setMinusPoint(emrFaultType.getPrice());
emrFaultDetail.setAssortId(emrFaultVo.getAssortId());
if (emrFaultVo.getBackContent() != null && emrFaultVo.getBackContent() != "") {
BigDecimal price = new BigDecimal(emrFaultVo.getBackContent());
emrFaultDetail.setPrice(price);
}
//医生或护士
int bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
result = "保存成功!";
} else {
result = "保存失败!";
}
}
} else {
result = "无缺陷项!";
}
}
} else {
Emr_Fault_Detail emrFaultDetail = new Emr_Fault_Detail();
//参数输入
emrFaultDetail.setBackFlag(roleVal);
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setArchiveDetailId(emrFaultVo.getArchiveDetailId());
emrFaultDetail.setContent(emrFaultVo.getContent());
emrFaultDetail.setDealFlag("0");
//缺陷类别
if (emrFaultVo.getAssortId() != null && emrFaultVo.getAssortId() != "") {
if ((emrFaultVo.getAssortId()).indexOf(",") != -1) {
int bol = 0;
int sum = 0;
String[] assortArr = (emrFaultVo.getAssortId()).split(",");
String[] priceArr = (emrFaultVo.getBackContent()).split(",");
//多个缺陷循环插入数据
for (int i = 0; i < assortArr.length; i++) {
String assrotId = assortArr[i];
Emr_Fault_Type emrFaultType = emrFaultTypeService.selectById(Integer.valueOf(assrotId));
emrFaultDetail.setMinusPoint(emrFaultType.getPrice());
emrFaultDetail.setAssortId(assrotId);
if (priceArr[i] != null && priceArr[i] != "") {
BigDecimal price = new BigDecimal(priceArr[i]);
emrFaultDetail.setPrice(price);
}
//医生或护士
bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
sum++;
}
}
//判断bol次数和插入次数的和
if (sum == assortArr.length) {
result = "保存成功!";
} else {
result = "保存失败!";
}
} else {
Emr_Fault_Type emrFaultType = emrFaultTypeService.selectById(Integer.valueOf(emrFaultVo.getAssortId()));
emrFaultDetail.setMinusPoint(emrFaultType.getPrice());
emrFaultDetail.setAssortId(emrFaultVo.getAssortId());
if (emrFaultVo.getBackContent() != null && emrFaultVo.getBackContent() != "") {
BigDecimal price = new BigDecimal(emrFaultVo.getBackContent());
emrFaultDetail.setPrice(price);
}
//医生或护士
int bol = emrFaultDetailService.insertSel(emrFaultDetail);
if (bol == 1) {
result = "保存成功!";
} else {
result = "保存失败!";
}
}
} else {
result = "无缺陷项!";
}
}
} else {
result = "退回角色不为空!";
}
} else {
result = "病案不存在!";
}
return result;
}
@ResponseBody
@RequestMapping(value = "/delFault")
public String delFault(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo) {
String result = "";
//判断是修改还是添加
if (emrFaultVo.getId() != null) {
//已存在删了,重新添加
int bol= emrFaultDetailService.deleteById(emrFaultVo.getId());
if(bol==1){
result="删除成功!";
}else{
result="删除失败!";
}
}
return result;
}
@Transactional
@ResponseBody
@RequestMapping(value = "/dealFault")
public String dealFault(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo) {
String result = "";
int bol =0;
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
//判断id是否为空
if (emrFaultVo.getId() != null) {
//已存在获取改条记录
Emr_Fault_Detail entity=emrFaultDetailService.selectById(emrFaultVo.getId());
if(entity!=null){
//修改为已处理或未处理
if (entity.getDealFlag().equals("0")) {
entity.setDealFlag("1");
entity.setDealPerson(username);
entity.setDealTime(nowTime);
} else if(entity.getDealFlag().equals("1")) {
entity.setDealFlag("0");
entity.setDealPerson("");
entity.setDealTime("");
}
//修改
bol = emrFaultDetailService.updateCloByPrimaryKey(entity);
if (bol == 1) {
result = "操作成功!";
} else {
result = "操作失败!";
}
}else{
result="不存在该缺陷记录!";
}
}else{
result = "不存在该缺陷记录!";
}
return result;
}
@ResponseBody
@RequestMapping(value = "/getTotal")
public Emr_Fault_Detail getTotal(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
emrFaultDetail = emrFaultDetailService.selectByDept(emrFaultDetail);
return emrFaultDetail;
}
@ResponseBody
@RequestMapping(value = "/getQualityControlList")
public OffsetLimitPage getQualityControlList(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
OffsetLimitPage result = emrFaultDetailService.getQualityControlList(emrFaultVo, offset, limit);
return result;
}
}

File diff suppressed because it is too large Load Diff

@ -7,22 +7,27 @@
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.service.*;
import com.emr.util.ExportExcelUtil;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
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.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
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 javax.xml.namespace.QName;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -43,6 +48,9 @@ public class lastVerifyController {
@Autowired
private Emr_Fault_DetailService emrFaultDetailService;
@Autowired(required = false)
private Archive_Master_FollowingService archive_master_followingService;
@RequestMapping(value = "/lastVerifys")
public String faults(Model model) {
return "lastVerifyDir/lastVerifyList";
@ -50,7 +58,9 @@ public class lastVerifyController {
@ResponseBody
@RequestMapping(value = "/lastVerifyList")
public OffsetLimitPage lastVerifyList(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
public OffsetLimitPage lastVerifyList(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) throws UnsupportedEncodingException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
OffsetLimitPage result = archiveMasterService.selectByLast(archiveMasterVo, offset, limit);
return result;
}
@ -58,10 +68,10 @@ 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,deptAdmissionTo,admissionDateTime,doctorInCharge,archivestate";
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> list = archiveMasterService.selectByLast(archiveMasterVo);
List<Archive_Master_Vo> list = archiveMasterService.selectByLast(archiveMasterVo);
//文件名
String fileName = "病案室终审" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls";
@ -75,7 +85,9 @@ public class lastVerifyController {
@ResponseBody
@RequestMapping(value = "/getFaultType")
public List<Emr_Fault_Type> getFaultType(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Type emrFaultType) {
public List<Emr_Fault_Type> getFaultType(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Type emrFaultType) throws UnsupportedEncodingException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
List<Emr_Fault_Type> result = emrFaultTypeService.selectByCol(emrFaultType);
return result;
}
@ -83,44 +95,226 @@ public class lastVerifyController {
@ResponseBody
@RequestMapping(value = "/getDetailByArchId")
public Emr_Fault_Detail getDetailByArchId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
public Emr_Fault_Detail getDetailByArchId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException {
response.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
Emr_Fault_Detail result = emrFaultDetailService.selectByArchiveDetailId(emrFaultDetail);
return result;
}
@Transactional
@ResponseBody
@RequestMapping(value = "/updateDetailByArchivId")
public int updateDetailByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) {
//修改病案归档状态:复审退回
Archive_Master archiveMaster = new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setArchivestate("复审退回");
int bol = archiveMasterService.updateByClo(archiveMaster);
//修改复审内容
if (bol == 1) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
//参数输入
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
emrFaultDetail.setUpdater(username);
emrFaultDetail.setUpdateTime(nowTime);
//修改复审内容
//1、查询出该病案的创建时间最近的缺陷记录
Emr_Fault_Detail entity= emrFaultDetailService.selectByArchiveDetailId(emrFaultDetail);
emrFaultDetail.setId(entity.getId());
//2、修改缺陷记录
bol = emrFaultDetailService.updateCloByPrimaryKey(emrFaultDetail);
public int updateDetailByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
int bol=0;
//修改病案归档状态:复审退回或主任退回
Archive_Master archiveMaster = archiveMasterService.selectById(emrFaultDetail.getArchiveDetailId());
if(archiveMaster!=null) {
archiveMaster.setArchivestate(emrFaultDetail.getState());
//查询该病案号缺陷,如果有医生就退回医生如果有护士则退回护士否则不退回提示
Emr_Fault_Detail entityFault=new Emr_Fault_Detail();
entityFault.setArchiveDetailId(emrFaultDetail.getArchiveDetailId());
List<Emr_Fault_Detail> list=emrFaultDetailService.selectByArchiveId(entityFault);
if(list.size()>0){
if (emrFaultDetail.getState().equals("主任退回")) {
//1医生 2护士
for (int k = 0; k < list.size(); k++) {
if ("1".equals(list.get(k).getBackFlag()) || "5".equals(list.get(k).getBackFlag())) {
archiveMaster.setCmtDoctor(0);
archiveMaster.setDoctorName("");
archiveMaster.setCmtDoctorDate("");
}
if ("2".equals(list.get(k).getBackFlag()) || "6".equals(list.get(k).getBackFlag())) {
archiveMaster.setCmtNurse(0);
archiveMaster.setNurseName("");
archiveMaster.setCmtNurseDate("");
}
}
}
bol = archiveMasterService.updateByClo(archiveMaster);
//修改复审内容
if (bol == 1) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
//判断缺陷记录是否有医生或护士有则退回状态改1
//参数输入
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
//插入缺陷记录
bol = emrFaultDetailService.insertSel(emrFaultDetail);
//2021-01-30
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(emrFaultDetail.getArchiveDetailId());
if (emrFaultDetail.getState().equals("主任退回")){
for (int k = 0; k < list.size(); k++) {
if ("1".equals(list.get(k).getBackFlag()) || "5".equals(list.get(k).getBackFlag())) {
//following表中添加科主任退回主管医生操作记录
archive_master_following.setFollowingType("7");
archive_master_following.setFollowingContent("科主任退回主管医生");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
}
if ("2".equals(list.get(k).getBackFlag()) || "6".equals(list.get(k).getBackFlag())) {
//following表中添加科主任退回护士长操作记录
archive_master_following.setFollowingType("6");
archive_master_following.setFollowingContent("科主任退回护士长");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
}
}
}
if (emrFaultDetail.getState().equals("复审退回")){
//following表中添加病案室退回操作记录
archive_master_following.setFollowingType("9");
archive_master_following.setFollowingContent("病案室退回科主任");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
}
//通过病案号和标识判断是否存在记录
// Emr_Fault_Detail entity = emrFaultDetailService.selectByArchiveDetailId(emrFaultDetail);
// if (entity != null) {
// //参数输入
// entity.setUpdater(username);
// emrFaultDetail.setUpdater(username);
// entity.setUpdateTime(nowTime);
// entity.setScore(emrFaultDetail.getScore());
// entity.setBackContent(emrFaultDetail.getBackContent());
// entity.setBackFlag(emrFaultDetail.getBackFlag());
// //2、修改缺陷记录
// bol = emrFaultDetailService.updateCloByPrimaryKey(entity);
// } else {
// //参数输入
// emrFaultDetail.setCreater(username);
// emrFaultDetail.setCreateTime(nowTime);
// //插入缺陷记录
// bol = emrFaultDetailService.insertSel(emrFaultDetail);
// }
}
}else{
bol=2;
}
// archiveMaster.setCmtDoctor(0);
// archiveMaster.setCmtNurse(0);
// archiveMaster.setDoctorName("");
// archiveMaster.setNurseName("");
// archiveMaster.setCmtNurseDate("");
// archiveMaster.setCmtDoctorDate("");
}
return bol;
}
@Transactional
@ResponseBody
@RequestMapping(value = "/updateStateByArchivId")
public int updateStateByArchivId(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws UnsupportedEncodingException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//修改病案归档状态
Archive_Master archiveMaster = new Archive_Master();
archiveMaster.setId(emrFaultDetail.getArchiveDetailId());
archiveMaster.setArchivestate("已归档");
archiveMaster.setCmtDoctor(1);
archiveMaster.setCmtNurse(1);
int bol = archiveMasterService.updateByClo(archiveMaster);
//添加初审内容
if (bol == 1) {
// 从session获取用户名
Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
String username = (String) session.getAttribute("userSession");//获取前面登录的用户名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
//参数输入
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
emrFaultDetail.setState("未召回");
//判断是否已经有召回记录
Emr_Fault_Vo vo=new Emr_Fault_Vo();
vo.setArchiveDetailId(emrFaultDetail.getArchiveDetailId());
List<Emr_Fault_Vo> list = emrFaultDetailService.selectByCol(vo);
if(list.size()>0){
bol = emrFaultDetailService.delbyCol(emrFaultDetail);
if(bol==1){
bol = emrFaultDetailService.insertSel(emrFaultDetail);
}
}else{
bol = emrFaultDetailService.insertSel(emrFaultDetail);
}
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(emrFaultDetail.getArchiveDetailId());
//following表中添加病案室审核操作记录
archive_master_following.setFollowingType("8");
archive_master_following.setFollowingContent("病案室审核(已归档)");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
archive_master_followingService.insertSelective(archive_master_following);
}
return bol;
}
@RequestMapping("getImg2")
public void getImg2(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
FileInputStream fis = null;
OutputStream os = null;
try {
fis = new FileInputStream(path);
os = response.getOutputStream();
int count = 0;
byte[] buffer = new byte[1024 * 8];
while ((count = fis.read(buffer)) != -1) {
os.write(buffer, 0, count);
os.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
@ResponseBody
@RequestMapping(value = "/updateScore")
public int updateScore(Archive_Master archive_master){
return archiveMasterService.updateByClo(archive_master);
}
}

@ -2,27 +2,50 @@
* Copyright (C), 2015-2019
* Author: HJL
* Date: 2019/9/17 11:30
* Description:
* Description:4PDFtxt
*/
package com.emr.controller;
import com.emr.util.PDFUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.IOException;
@Component
public class taskController {
@Value("${pdfErrorUrl}")
private String pdfErrorUrl;
@Value("${autoPdfUrl}")
private String autoPdfUrl;
@Scheduled(cron="0 0 4 * * ?")//每天4点触发0 0 4 * * ?
public void task(){
//@Scheduled(cron="0/1 * * * * ? ") //每1秒执行一次
public void task() throws IOException {
//static\img\pdfFiles\typesPdf
//String projectPath = System.getProperty("user.dir") + "\\static\\img\\pdfFiles\\typesPdf\\";
// 项目在容器中实际发布运行的根路径
// String realPath = request.getSession().getServletContext().getRealPath("/");
// realPath = realPath.split("target")[0] + pictureUrl + "\\static\\img\\";
String projectPath = System.getProperty("user.dir") + "\\static\\img\\pdfFiles\\typesPdf\\";
System.out.println("projectPath==" + projectPath);
PDFUtils.delAllFile(projectPath);
//String projectPath = System.getProperty("user.dir");
//在类中输出System.getProperty("user.dir");显示的是%Tomcat_Home%/bin
// projectPath=projectPath.replace("bin","webapps\\emr_medical_record\\static\\img\\pdfFiles\\typesPdf\\");
//System.out.println("projectPath=" + projectPath);
File outFile1 = new File(autoPdfUrl);
//如果文件夹不存在则创建
if (!outFile1.exists() && !outFile1.isDirectory()) {
outFile1.mkdirs();
}
PDFUtils.delAllFile(autoPdfUrl);
File outFile = new File(pdfErrorUrl);
//如果文件夹不存在则创建
if (!outFile.exists() && !outFile.isDirectory()) {
outFile.mkdirs();
}
PDFUtils.delAllFile(pdfErrorUrl);
}

@ -21,6 +21,9 @@ import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@ -50,8 +53,8 @@ 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";
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> list = archiveMasterService.selectByUnfile(archiveMasterVo);
@ -64,6 +67,32 @@ public class unfileMedicalController {
exportExcelUtil.expordExcel(tableThNames, fieldCns, list, fileName, response);
}
@RequestMapping("getImg2")
public void getImg2(HttpServletRequest request, HttpServletResponse response, String path) throws IOException {
FileInputStream fis = null;
OutputStream os = null;
try {
fis = new FileInputStream(path);
os = response.getOutputStream();
int count = 0;
byte[] buffer = new byte[1024 * 8];
while ((count = fis.read(buffer)) != -1) {
os.write(buffer, 0, count);
os.flush();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fis.close();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

@ -6,10 +6,12 @@ import com.emr.entity.Archive_Detail_Vo;
import java.util.List;
public interface Archive_DetailMapper {
int deleteByPrimaryKey(String id);
int delById(String id);
int deleteByClo(Archive_Detail record);
int delByClo(Archive_Detail record);
int insert(Archive_Detail record);
int insertSel(Archive_Detail record);
@ -28,5 +30,8 @@ public interface Archive_DetailMapper {
List<Archive_Detail_Vo> detailByClo(Archive_Detail_Vo record);
List<Archive_Detail> selectByIdStr(Archive_Detail record);
List<Archive_Detail> selectByCol2(Archive_Detail record);
}

@ -12,19 +12,41 @@ public interface Archive_MasterMapper {
int insertSelective(Archive_Master record);
Archive_Master selectByPrimaryKey(String id);
Archive_Master selectById(String id);
List<Archive_Master> selectByCol(Archive_Master_Vo record);
List<Archive_Master> selectByColumn(Archive_Master_Vo record);
List<Archive_Master> selectByLast(Archive_Master_Vo record);
List<Archive_Master_Vo> selectByLast(Archive_Master_Vo record);
List<Archive_Master> selectByUnfile(Archive_Master_Vo record);
List<Archive_Master> selectByUnfile2(Archive_Master_Vo record);
/**
* 7
* @param record
* @return
*/
List<Archive_Master> sel7DayByCol(Archive_Master_Vo record);
List<Archive_Master> selectByCmtCol(Archive_Master_Vo record);
List<Archive_Master> bbSel(Archive_Master_Vo record);
List<Archive_Master> bbSel2(Archive_Master_Vo record);
int updateByClo(Archive_Master record);
int updateById(Archive_Master record);
List<Archive_Master> getDoctorInCharge(Archive_Master record);
//查询病案室操作记录
List<Archive_Master_Vo> selectHandleDetail(Archive_Master_Vo record);
//查询超期天数列表
List<Archive_Master_Vo> selectOverdue(Archive_Master_Vo record);
//封存日志
List<Archive_Master_Vo> selectByFollowinglog(Archive_Master_Vo record);
}

@ -1,12 +1,17 @@
package com.emr.dao;
import com.emr.entity.Archive_Master;
import com.emr.entity.Emr_Fault_Detail;
import com.emr.entity.Emr_Fault_Vo;
import java.util.List;
public interface Emr_Fault_DetailMapper {
int deleteByPrimaryKey(Integer id);
int deleteById(Integer id);
int delByArchiveId(Emr_Fault_Detail record);
int delbyCol(Emr_Fault_Detail record);
int insert(Emr_Fault_Detail record);
@ -18,7 +23,19 @@ public interface Emr_Fault_DetailMapper {
int updateByPrimaryKey(Emr_Fault_Detail record);
List<Emr_Fault_Vo> selectByColumn(Emr_Fault_Detail emrFaultDetail);
List<Emr_Fault_Vo> selectByCol(Emr_Fault_Vo record);
Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail record);
Emr_Fault_Detail selectById(Integer id);
Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail emrFaultDetail);
Emr_Fault_Detail selectByDept(Emr_Fault_Detail emrFaultDetail);
List<Emr_Fault_Detail> selectByArchiveId(Emr_Fault_Detail emrFaultDetail);
List<Emr_Fault_Vo> selectStorageByCol(Emr_Fault_Vo emrFaultVo);
List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo);//获取质控缺陷评分列表
}

@ -1,12 +1,15 @@
package com.emr.dao;
import com.emr.entity.V_Count;
import com.emr.entity.V_Count2;
import java.util.List;
public interface V_CountMapper {
List<V_Count> selectByCol(V_Count record);
// /**
// * 根据条件查找统计列表分页
// *
@ -14,4 +17,8 @@ public interface V_CountMapper {
// * @return
// */
// List<V_Count> selectPageByClo(V_Count record);
List<V_Count2> selByDept(V_Count2 record);
List<V_Count2> selByCharge(V_Count2 record);
}

@ -1,28 +1,29 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.emr.entity;
public class Archive_Detail {
private String id;
private String pdfPath;
private String masterid;
private String uploaddatetime;
private String assortid;
private String source;
private String subassort;
private String title;
private String flag;
private String sys;
private int pageNumber;
private String delAssortID;
public Archive_Detail() {
}
public String getId() {
return id;
return this.id;
}
public void setId(String id) {
@ -30,7 +31,7 @@ public class Archive_Detail {
}
public String getPdfPath() {
return pdfPath;
return this.pdfPath;
}
public void setPdfPath(String pdfPath) {
@ -38,7 +39,7 @@ public class Archive_Detail {
}
public String getMasterid() {
return masterid;
return this.masterid;
}
public void setMasterid(String masterid) {
@ -46,7 +47,7 @@ public class Archive_Detail {
}
public String getUploaddatetime() {
return uploaddatetime;
return this.uploaddatetime;
}
public void setUploaddatetime(String uploaddatetime) {
@ -54,7 +55,7 @@ public class Archive_Detail {
}
public String getAssortid() {
return assortid;
return this.assortid;
}
public void setAssortid(String assortid) {
@ -62,7 +63,7 @@ public class Archive_Detail {
}
public String getSource() {
return source;
return this.source;
}
public void setSource(String source) {
@ -70,7 +71,7 @@ public class Archive_Detail {
}
public String getSubassort() {
return subassort;
return this.subassort;
}
public void setSubassort(String subassort) {
@ -78,7 +79,7 @@ public class Archive_Detail {
}
public String getTitle() {
return title;
return this.title;
}
public void setTitle(String title) {
@ -86,7 +87,7 @@ public class Archive_Detail {
}
public String getFlag() {
return flag;
return this.flag;
}
public void setFlag(String flag) {
@ -94,10 +95,26 @@ public class Archive_Detail {
}
public String getSys() {
return sys;
return this.sys;
}
public void setSys(String sys) {
this.sys = sys == null ? null : sys.trim();
}
}
public int getPageNumber() {
return this.pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public String getDelAssortID() {
return delAssortID;
}
public void setDelAssortID(String delAssortID) {
this.delAssortID = delAssortID;
}
}

@ -1,48 +1,40 @@
/**
* Copyright (C), 2015-2019
* Author: HJL
* Date: 2019/7/29 15:02
* Description:
*/
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package com.emr.entity;
public class Archive_Detail_Vo {
private String id;
private String pdfPath;
private String masterid;
private String uploaddatetime;
private String assortid;
private String source;
private String subassort;
private String title;
private String flag;
private String sys;
private int pageNumber;
private String assortId;
private String assortName;
private Short assortSort;
private String printFlag;
private String patientId;
private String scanPage;
private int pageNum;
private String delAssortID;
private String archivestate;
private String cmtDoctorDate;
private String cmtNurseDate;
private String createTime;
public Archive_Detail_Vo() {
}
public String getId() {
return id;
return this.id;
}
public void setId(String id) {
@ -50,7 +42,7 @@ public class Archive_Detail_Vo {
}
public String getPdfPath() {
return pdfPath;
return this.pdfPath;
}
public void setPdfPath(String pdfPath) {
@ -58,7 +50,7 @@ public class Archive_Detail_Vo {
}
public String getMasterid() {
return masterid;
return this.masterid;
}
public void setMasterid(String masterid) {
@ -66,7 +58,7 @@ public class Archive_Detail_Vo {
}
public String getUploaddatetime() {
return uploaddatetime;
return this.uploaddatetime;
}
public void setUploaddatetime(String uploaddatetime) {
@ -74,7 +66,7 @@ public class Archive_Detail_Vo {
}
public String getAssortid() {
return assortid;
return this.assortid;
}
public void setAssortid(String assortid) {
@ -82,7 +74,7 @@ public class Archive_Detail_Vo {
}
public String getSource() {
return source;
return this.source;
}
public void setSource(String source) {
@ -90,7 +82,7 @@ public class Archive_Detail_Vo {
}
public String getSubassort() {
return subassort;
return this.subassort;
}
public void setSubassort(String subassort) {
@ -98,7 +90,7 @@ public class Archive_Detail_Vo {
}
public String getTitle() {
return title;
return this.title;
}
public void setTitle(String title) {
@ -106,7 +98,7 @@ public class Archive_Detail_Vo {
}
public String getFlag() {
return flag;
return this.flag;
}
public void setFlag(String flag) {
@ -114,15 +106,23 @@ public class Archive_Detail_Vo {
}
public String getSys() {
return sys;
return this.sys;
}
public void setSys(String sys) {
this.sys = sys == null ? null : sys.trim();
}
public int getPageNumber() {
return this.pageNumber;
}
public void setPageNumber(int pageNumber) {
this.pageNumber = pageNumber;
}
public String getAssortId() {
return assortId;
return this.assortId;
}
public void setAssortId(String assortId) {
@ -130,7 +130,7 @@ public class Archive_Detail_Vo {
}
public String getAssortName() {
return assortName;
return this.assortName;
}
public void setAssortName(String assortName) {
@ -138,7 +138,7 @@ public class Archive_Detail_Vo {
}
public Short getAssortSort() {
return assortSort;
return this.assortSort;
}
public void setAssortSort(Short assortSort) {
@ -146,7 +146,7 @@ public class Archive_Detail_Vo {
}
public String getPrintFlag() {
return printFlag;
return this.printFlag;
}
public void setPrintFlag(String printFlag) {
@ -154,7 +154,7 @@ public class Archive_Detail_Vo {
}
public String getPatientId() {
return patientId;
return this.patientId;
}
public void setPatientId(String patientId) {
@ -162,7 +162,7 @@ public class Archive_Detail_Vo {
}
public String getScanPage() {
return scanPage;
return this.scanPage;
}
public void setScanPage(String scanPage) {
@ -170,14 +170,50 @@ public class Archive_Detail_Vo {
}
public Integer getPageNum() {
return pageNum;
return this.pageNum;
}
public void setPageNum(Integer pageNum) {
this.pageNum = pageNum;
}
public String getDelAssortID() {
return delAssortID;
}
public void setDelAssortID(String delAssortID) {
this.delAssortID = delAssortID;
}
}
public String getArchivestate() {
return this.archivestate;
}
public void setArchivestate(String archivestate) {
this.archivestate = archivestate == null ? null : archivestate.trim();
}
public String getCmtDoctorDate() {
return this.cmtDoctorDate;
}
public void setCmtDoctorDate(String cmtDoctorDate) {
this.cmtDoctorDate = cmtDoctorDate == null ? null : cmtDoctorDate.trim();
}
public String getCmtNurseDate() {
return this.cmtNurseDate;
}
public void setCmtNurseDate(String cmtNurseDate) {
this.cmtNurseDate = cmtNurseDate;
}
public String getCreateTime() {
return this.createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime == null ? null : createTime.trim();
}
}

@ -1,5 +1,7 @@
package com.emr.entity;
import java.math.BigDecimal;
public class Archive_Master {
private String id;
@ -41,6 +43,48 @@ public class Archive_Master {
private String deptCodeLend;
private int cmtDoctor;
private int cmtNurse;
private String doctorName;
private String nurseName;
private String cmtDoctorDate;
private String cmtNurseDate;
private String emrDoctorCmt;
private String emrNureCmt;
private String deathFlag;
private String firstInstance;
private String transferDept;
// 科室是否纸质提交
private String isscaned;
//2020-1-13 新增扫描字段
private String isScanning;
//2021-1-18 新增床号
private String bedNumber;
//2021-3-20 新增总分
private BigDecimal score;
public BigDecimal getScore() {
return score;
}
public void setScore(BigDecimal score) {
this.score = score;
}
public String getId() {
return id;
}
@ -200,4 +244,116 @@ public class Archive_Master {
public void setDeptCodeLend(String deptCodeLend) {
this.deptCodeLend = deptCodeLend == null ? null : deptCodeLend.trim();
}
public int getCmtDoctor() {
return cmtDoctor;
}
public void setCmtDoctor(int cmtDoctor) {
this.cmtDoctor = cmtDoctor;
}
public int getCmtNurse() {
return cmtNurse;
}
public void setCmtNurse(int cmtNurse) {
this.cmtNurse = cmtNurse;
}
public String getDoctorName() {
return doctorName;
}
public void setDoctorName(String doctorName) {
this.doctorName = doctorName == null ? null : doctorName.trim();
}
public String getNurseName() {
return nurseName;
}
public void setNurseName(String nurseName) {
this.nurseName = nurseName == null ? null : nurseName.trim();
}
public String getCmtDoctorDate() {
return cmtDoctorDate ;
}
public void setCmtDoctorDate(String cmtDoctorDate) {
this.cmtDoctorDate = cmtDoctorDate == null ? null : cmtDoctorDate.trim();
}
public String getCmtNurseDate() {
return cmtNurseDate;
}
public void setCmtNurseDate(String cmtNurseDate) {
this.cmtNurseDate = cmtNurseDate;
}
public String getEmrDoctorCmt() {
return emrDoctorCmt;
}
public void setEmrDoctorCmt(String emrDoctorCmt) {
this.emrDoctorCmt = emrDoctorCmt == null ? null : emrDoctorCmt.trim();
}
public String getEmrNureCmt() {
return emrNureCmt;
}
public void setEmrNureCmt(String emrNureCmt) {
this.emrNureCmt = emrNureCmt == null ? null : emrNureCmt.trim();
}
public String getDeathFlag() {
return deathFlag;
}
public void setDeathFlag(String deathFlag) {
this.deathFlag = deathFlag == null ? null : deathFlag.trim();
}
public String getFirstInstance() {
return this.firstInstance;
}
public void setFirstInstance(String firstInstance) {
this.firstInstance = firstInstance == null ? null : firstInstance.trim();
}
public String getTransferDept() {
return transferDept;
}
public void setTransferDept(String transferDept) {
this.transferDept = transferDept == null ? null : transferDept.trim();
}
public String getIsscaned() {
return isscaned;
}
public void setIsscaned(String isscaned) {
this.isscaned = isscaned;
}
public String getIsScanning() {
return isScanning;
}
public void setIsScanning(String isScanning) {
this.isScanning = isScanning;
}
public String getBedNumber() {
return bedNumber;
}
public void setBedNumber(String bedNumber) {
this.bedNumber = bedNumber;
}
}

@ -57,8 +57,238 @@ public class Archive_Master_Vo {
private String endDate;
private String emrCmit;
private String firstInstance;
private List<String> deptList;
private int cmtDoctor;
private int cmtNurse;
private String content;
// 科室是否纸质提交
private String isscaned;
//2021-1-13 新增扫描字段
private String isScanning;
//2021-1-18 新增床号
private String bedNumber;
private String deathFlag;
private String fid;//following表id
private String handleId;//handle_id
private String handleName;//handle_name
private String handleTime;//handle_time
private String startHandleTime;
private String endHandleTime;
private String followingType;//following_type
private String followingContent;//following_content
private String doctorName;
private String nurseName;
private String cmtDoctorDate;
private String cmtNurseDate;
private String emrDoctorCmt;
private String emrNureCmt;
private String transferDept;
//2021-02-02新增
private String overdue;//超期天数
private String createTime;//初审时间
private String createTimeStart;
private String createTimeEnd;
private String overdueDays;
public String getOverdueDays() {
return overdueDays;
}
public void setOverdueDays(String overdueDays) {
this.overdueDays = overdueDays;
}
public String getCreateTimeStart() {
return createTimeStart;
}
public void setCreateTimeStart(String createTimeStart) {
this.createTimeStart = createTimeStart;
}
public String getCreateTimeEnd() {
return createTimeEnd;
}
public void setCreateTimeEnd(String createTimeEnd) {
this.createTimeEnd = createTimeEnd;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getOverdue() {
return overdue;
}
public void setOverdue(String overdue) {
this.overdue = overdue;
}
public String getCmtDoctorDate() {
return cmtDoctorDate;
}
public void setCmtDoctorDate(String cmtDoctorDate) {
this.cmtDoctorDate = cmtDoctorDate;
}
public String getCmtNurseDate() {
return cmtNurseDate;
}
public void setCmtNurseDate(String cmtNurseDate) {
this.cmtNurseDate = cmtNurseDate;
}
public String getEmrDoctorCmt() {
return emrDoctorCmt;
}
public void setEmrDoctorCmt(String emrDoctorCmt) {
this.emrDoctorCmt = emrDoctorCmt;
}
public String getEmrNureCmt() {
return emrNureCmt;
}
public void setEmrNureCmt(String emrNureCmt) {
this.emrNureCmt = emrNureCmt;
}
public String getTransferDept() {
return transferDept;
}
public void setTransferDept(String transferDept) {
this.transferDept = transferDept;
}
public String getDoctorName() {
return doctorName;
}
public void setDoctorName(String doctorName) {
this.doctorName = doctorName;
}
public String getNurseName() {
return nurseName;
}
public void setNurseName(String nurseName) {
this.nurseName = nurseName;
}
public String getStartHandleTime() {
return startHandleTime;
}
public void setStartHandleTime(String startHandleTime) {
this.startHandleTime = startHandleTime;
}
public String getEndHandleTime() {
return endHandleTime;
}
public void setEndHandleTime(String endHandleTime) {
this.endHandleTime = endHandleTime;
}
public String getFid() {
return fid;
}
public void setFid(String fid) {
this.fid = fid;
}
public String getHandleId() {
return handleId;
}
public void setHandleId(String handleId) {
this.handleId = handleId;
}
public String getHandleName() {
return handleName;
}
public void setHandleName(String handleName) {
this.handleName = handleName;
}
public String getHandleTime() {
return handleTime;
}
public void setHandleTime(String handleTime) {
this.handleTime = handleTime;
}
public String getFollowingType() {
return followingType;
}
public void setFollowingType(String followingType) {
this.followingType = followingType;
}
public String getFollowingContent() {
return followingContent;
}
public void setFollowingContent(String followingContent) {
this.followingContent = followingContent;
}
public String getDeathFlag() {
return deathFlag;
}
public void setDeathFlag(String deathFlag) {
this.deathFlag = deathFlag == null ? null : deathFlag.trim();
}
public String getId() {
return id;
@ -259,6 +489,67 @@ public class Archive_Master_Vo {
public void setDeptList(List<String> deptList) {
this.deptList = deptList;
}
public String getEmrCmit() { return emrCmit; }
public void setEmrCmit(String emrCmit) { this.emrCmit = emrCmit == null ? null : emrCmit.trim(); }
public String getFirstInstance() {
return this.firstInstance;
}
public void setFirstInstance(String firstInstance) {
this.firstInstance = firstInstance == null ? null : firstInstance.trim();
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content == null ? null : content.trim();
}
public int getCmtDoctor() {
return cmtDoctor;
}
public void setCmtDoctor(int cmtDoctor) {
this.cmtDoctor = cmtDoctor;
}
public int getCmtNurse() {
return cmtNurse;
}
public void setCmtNurse(int cmtNurse) {
this.cmtNurse = cmtNurse;
}
public String getIsscaned() {
return isscaned;
}
public void setIsscaned(String isscaned) {
this.isscaned = isscaned;
}
public String getIsScanning() {
return isScanning;
}
public void setIsScanning(String isScanning) {
this.isScanning = isScanning;
}
public String getBedNumber() {
return bedNumber;
}
public void setBedNumber(String bedNumber) {
this.bedNumber = bedNumber;
}
}

@ -13,6 +13,8 @@ public class Emr_Fault_Detail {
private String content;
private BigDecimal price;
private BigDecimal score;
private String backContent;
@ -31,6 +33,26 @@ public class Emr_Fault_Detail {
private String updateTime;
private String backFlag;
private String dealFlag;
private String dealPerson;
private String dealTime;
private String archiveState;
private BigDecimal minusPoint;
public BigDecimal getMinusPoint() {
return minusPoint;
}
public void setMinusPoint(BigDecimal minusPoint) {
this.minusPoint = minusPoint;
}
public Integer getId() {
return id;
}
@ -71,6 +93,14 @@ public class Emr_Fault_Detail {
this.content = content == null ? null : content.trim();
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public BigDecimal getScore() {
return score;
}
@ -142,4 +172,44 @@ public class Emr_Fault_Detail {
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime == null ? null : updateTime.trim();
}
public String getBackFlag() {
return backFlag;
}
public void setBackFlag(String backFlag) {
this.backFlag = backFlag == null ? null : backFlag.trim();
}
public String getDealFlag() {
return dealFlag;
}
public void setDealFlag(String dealFlag) {
this.dealFlag = dealFlag == null ? null : dealFlag.trim();
}
public String getDealPerson() {
return dealPerson;
}
public void setDealPerson(String dealPerson) {
this.dealPerson = dealPerson == null ? null : dealPerson.trim();;
}
public String getDealTime() {
return dealTime;
}
public void setDealTime(String dealTime) {
this.dealTime = dealTime == null ? null : dealTime.trim();;
}
public String getArchiveState() {
return archiveState;
}
public void setArchiveState(String archiveState) {
this.archiveState = archiveState;
}
}

@ -1,5 +1,7 @@
package com.emr.entity;
import java.math.BigDecimal;
public class Emr_Fault_Type {
private Integer id;
@ -13,6 +15,8 @@ public class Emr_Fault_Type {
private Integer effective;
private BigDecimal price;
private String remark;
private String creater;
@ -71,6 +75,14 @@ public class Emr_Fault_Type {
this.effective = effective;
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public String getRemark() {
return remark;
}

@ -20,6 +20,8 @@ public class Emr_Fault_Vo {
private String content;
private BigDecimal price;
private BigDecimal score;
private String backContent;
@ -38,6 +40,10 @@ public class Emr_Fault_Vo {
private String updateTime;
private String assortName;
private String backFlag;
private String inpNo;
private String visitId;
@ -68,6 +74,48 @@ public class Emr_Fault_Vo {
private String endDateTo;
private int cmtDoctor;
private int cmtNurse;
private String dealFlag;
private String dealPerson;
private String dealTime;
private String archiveState;
private String typeName;
private String doctorInCharge;
private BigDecimal minusPoint;
public BigDecimal getMinusPoint() {
return minusPoint;
}
public void setMinusPoint(BigDecimal minusPoint) {
this.minusPoint = minusPoint;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public String getDoctorInCharge() {
return doctorInCharge;
}
public void setDoctorInCharge(String doctorInCharge) {
this.doctorInCharge = doctorInCharge;
}
public Integer getId() {
return id;
}
@ -300,6 +348,77 @@ public class Emr_Fault_Vo {
this.endDateTo = endDateTo == null ? null : endDateTo.trim();
}
public BigDecimal getPrice() {
return price;
}
public void setPrice(BigDecimal price) {
this.price = price;
}
public String getBackFlag() {
return backFlag;
}
public void setBackFlag(String backFlag) {
this.backFlag = backFlag == null ? null : backFlag.trim();
}
public String getAssortName() {
return assortName;
}
public void setAssortName(String assortName) {
this.assortName = assortName == null ? null : assortName.trim();;
}
public int getCmtDoctor() {
return cmtDoctor;
}
public void setCmtDoctor(int cmtDoctor) {
this.cmtDoctor = cmtDoctor;
}
public int getCmtNurse() {
return cmtNurse;
}
public void setCmtNurse(int cmtNurse) {
this.cmtNurse = cmtNurse;
}
public String getDealFlag() {
return dealFlag;
}
public void setDealFlag(String dealFlag) {
this.dealFlag = dealFlag == null ? null : dealFlag.trim();
}
public String getDealPerson() {
return dealPerson;
}
public void setDealPerson(String dealPerson) {
this.dealPerson = dealPerson == null ? null : dealPerson.trim();
}
public String getDealTime() {
return dealTime;
}
public void setDealTime(String dealTime) {
this.dealTime = dealTime == null ? null : dealTime.trim();
}
public String getArchiveState() {
return archiveState;
}
public void setArchiveState(String archiveState) {
this.archiveState = archiveState;
}
}

@ -58,6 +58,15 @@ public interface Archive_DetailService {
*/
int deleteByClo(Archive_Detail record);
int delByClo(Archive_Detail record);
/**
* id
*
* @param id
* @return
*/
int delById(String id);
/**
*
* @param record
@ -66,6 +75,16 @@ public interface Archive_DetailService {
List<Archive_Detail> selectByColm(Archive_Detail record);
List<Archive_Detail> selectByCol(Archive_Detail record);
/**
* id
*
* @param record
* @return
*/
List<Archive_Detail> selectByIdStr(Archive_Detail record);
List<Archive_Detail> selectByCol2(Archive_Detail record);
}

@ -13,6 +13,12 @@ import com.emr.entity.OffsetLimitPage;
import java.util.List;
public interface Archive_MasterService {
/**
* id
* @param id
* @return
*/
Archive_Master selectById(String id);
/**
*
* @param archiveMasterVo
@ -33,7 +39,7 @@ public interface Archive_MasterService {
* @param archiveMasterVo
* @return
*/
List<Archive_Master> selectByLast(Archive_Master_Vo archiveMasterVo);
List<Archive_Master_Vo> selectByLast(Archive_Master_Vo archiveMasterVo);
/**
* '','退'
@ -51,6 +57,28 @@ public interface Archive_MasterService {
* @return
*/
List<Archive_Master> selectByUnfile(Archive_Master_Vo archiveMasterVo);
/**
*
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master> selectByUnfile2(Archive_Master_Vo archiveMasterVo);
/**
* 7
* @param record
* @return
*/
List<Archive_Master> sel7DayByCol(Archive_Master_Vo record);
/**
* '','退'
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master> selectByCmtCol(Archive_Master_Vo archiveMasterVo);
/**
* '','退'
*
@ -76,7 +104,13 @@ public interface Archive_MasterService {
*/
OffsetLimitPage selectByLast(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
* '','退'
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage selectByCmtCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
@ -91,6 +125,79 @@ public interface Archive_MasterService {
* @return
*/
int updateById(Archive_Master record);
/**
*
* @param record
* @return
*/
List<Archive_Master> getDoctorInCharge(Archive_Master record);
/**
*
* @param record
* @return
*/
List<Archive_Master> bbSel(Archive_Master_Vo record);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage bbSel(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
* @param record
* @return
*/
List<Archive_Master> bbSel2(Archive_Master_Vo record);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage bbSel2(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectHandleDetail(Archive_Master_Vo archiveMasterVo);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage selectHandleDetail(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
/**
*
*
* @param archiveMasterVo
* @return
*/
List<Archive_Master_Vo> selectOverdue(Archive_Master_Vo archiveMasterVo);
/**
*
*
* @param archiveMasterVo
* @return
*/
OffsetLimitPage selectOverdue(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit);
//封存日志
OffsetLimitPage selectByFollowinglog(Archive_Master_Vo record, Integer offset, Integer limit);
}

@ -6,6 +6,7 @@
*/
package com.emr.service;
import com.emr.entity.Archive_Master;
import com.emr.entity.Emr_Fault_Detail;
import com.emr.entity.Emr_Fault_Vo;
import com.emr.entity.OffsetLimitPage;
@ -38,10 +39,10 @@ public interface Emr_Fault_DetailService {
/**
* 退
* @param record
* @param emrFaultDetail
* @return
*/
Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail record);
Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail emrFaultDetail);
/**
* 退
@ -49,6 +50,57 @@ public interface Emr_Fault_DetailService {
* @return
*/
int insertSel(Emr_Fault_Detail record);
/**
* (12,5,6)
* @param emrFaultDetail
* @return
*/
List<Emr_Fault_Vo> selectByColumn(Emr_Fault_Detail emrFaultDetail);
/**
* (125,6)
*
* @param emrFaultDetail
* @param offset
* @param limit
* @return
*/
OffsetLimitPage selectByColumn(Emr_Fault_Detail emrFaultDetail, Integer offset, Integer limit);
/**
* id
* @param id
* @return
*/
int deleteById(Integer id);
/**
* id
* @param record
* @return
*/
int delByArchiveId(Emr_Fault_Detail record);
int delbyCol(Emr_Fault_Detail record);
Emr_Fault_Detail selectById(Integer id);
/**
* back_flag12
* @param emrFaultDetail
* @return
*/
Emr_Fault_Detail selectByDept(Emr_Fault_Detail emrFaultDetail);
List<Emr_Fault_Detail> selectByArchiveId(Emr_Fault_Detail emrFaultDetail);
OffsetLimitPage selectStorageByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo);//获取质控缺陷评分列表
OffsetLimitPage getQualityControlList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit);
}

@ -18,6 +18,8 @@ public interface V_CountService {
*/
List<V_Count> selectByCol(V_Count record);
/**
*
*
@ -26,6 +28,21 @@ public interface V_CountService {
*/
OffsetLimitPage selectPageByClo(V_Count record, Integer offset, Integer limit);
/**
*
* @param record
* @return
*/
List<V_Count2> selByDept(V_Count2 record);
/**
*
*
* @param record
* @return
*/
List<V_Count2> selByCharge(V_Count2 record);
}

@ -58,6 +58,16 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
return archiveDetailMapper.deleteByClo(record);
}
@Override
public int delByClo(Archive_Detail record) {
return archiveDetailMapper.delByClo(record);
}
@Override
public int delById(String id) {
return archiveDetailMapper.delById(id);
}
@Override
public List<Archive_Detail> selectByColm(Archive_Detail record) {
return archiveDetailMapper.selectByColm(record);
@ -68,6 +78,16 @@ public class Archive_DetailServiceImpl implements Archive_DetailService {
return archiveDetailMapper.selectByCol(record);
}
@Override
public List<Archive_Detail> selectByIdStr(Archive_Detail record) {
return archiveDetailMapper.selectByIdStr(record);
}
@Override
public List<Archive_Detail> selectByCol2(Archive_Detail record) {
return archiveDetailMapper.selectByCol2(record);
}
}

@ -6,6 +6,8 @@
*/
package com.emr.service.ipml;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.emr.dao.Archive_DetailMapper;
import com.emr.dao.Archive_MasterMapper;
import com.emr.entity.Archive_Master;
@ -14,13 +16,15 @@ 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.service.PowerUserService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.base.Function;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.google.common.collect.Maps;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
@Service
public class Archive_MasterServiceImpl implements Archive_MasterService {
@ -31,11 +35,46 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Autowired
private Emr_DictionaryService emrDictionaryService;
@Autowired
private PowerUserService powerUserService;
@Override
public Archive_Master selectById(String id) {
return archiveMasterMapper.selectById(id);
}
@Override
public OffsetLimitPage selectByCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
//archiveMasterVo.setDeptAdmissionTo("20050102,20070102");
List<Archive_Master> list= archiveMasterMapper.selectByCol(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorName());
if (userInfo==null){
archive_master.setDoctorName(archive_master.getDoctorName());
}else {
archive_master.setDoctorName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getNurseName());
if (userInfo==null){
archive_master.setNurseName(archive_master.getNurseName());
}else {
archive_master.setNurseName(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@ -55,7 +94,22 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
@Override
public List<Archive_Master> selectByLast(Archive_Master_Vo archiveMasterVo) {
public List<Archive_Master> selectByUnfile2(Archive_Master_Vo archiveMasterVo) {
return archiveMasterMapper.selectByUnfile2(archiveMasterVo);
}
@Override
public List<Archive_Master> sel7DayByCol(Archive_Master_Vo archiveMasterVo) {
return archiveMasterMapper.sel7DayByCol(archiveMasterVo);
}
@Override
public List<Archive_Master> selectByCmtCol(Archive_Master_Vo archiveMasterVo) {
return archiveMasterMapper.selectByCmtCol(archiveMasterVo);
}
@Override
public List<Archive_Master_Vo> selectByLast(Archive_Master_Vo archiveMasterVo) {
return archiveMasterMapper.selectByLast(archiveMasterVo);
}
@ -64,6 +118,33 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.selectByColumn(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorName());
if (userInfo==null){
archive_master.setDoctorName(archive_master.getDoctorName());
}else {
archive_master.setDoctorName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getNurseName());
if (userInfo==null){
archive_master.setNurseName(archive_master.getNurseName());
}else {
archive_master.setNurseName(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@ -72,14 +153,107 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.selectByUnfile(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorName());
if (userInfo==null){
archive_master.setDoctorName(archive_master.getDoctorName());
}else {
archive_master.setDoctorName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getNurseName());
if (userInfo==null){
archive_master.setNurseName(archive_master.getNurseName());
}else {
archive_master.setNurseName(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectByLast(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.selectByLast(archiveMasterVo);
List<Archive_Master_Vo> list = archiveMasterMapper.selectByLast(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null) {
Map<String, JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, temp -> temp.getString("userName"));
for (Archive_Master_Vo archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorName());
if (userInfo == null) {
archive_master.setDoctorName(archive_master.getDoctorName());
} else {
archive_master.setDoctorName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getNurseName());
if (userInfo == null) {
archive_master.setNurseName(archive_master.getNurseName());
} else {
archive_master.setNurseName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getFirstInstance());
if (userInfo == null) {
archive_master.setFirstInstance(archive_master.getFirstInstance());
} else {
archive_master.setFirstInstance(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectByCmtCol(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.selectByCmtCol(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorName());
if (userInfo==null){
archive_master.setDoctorName(archive_master.getDoctorName());
}else {
archive_master.setDoctorName(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getNurseName());
if (userInfo==null){
archive_master.setNurseName(archive_master.getNurseName());
}else {
archive_master.setNurseName(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@ -92,6 +266,97 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
public int updateById(Archive_Master record) {
return archiveMasterMapper.updateById(record);
}
@Override
public List<Archive_Master> getDoctorInCharge(Archive_Master record) {
return archiveMasterMapper.getDoctorInCharge(record);
}
@Override
public List<Archive_Master> bbSel(Archive_Master_Vo record) {
return archiveMasterMapper.bbSel(record);
}
@Override
public OffsetLimitPage bbSel(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.bbSel(archiveMasterVo);
return new OffsetLimitPage((Page) list);
}
@Override
public List<Archive_Master> bbSel2(Archive_Master_Vo record) {
return archiveMasterMapper.bbSel2(record);
}
@Override
public OffsetLimitPage bbSel2(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master> list = archiveMasterMapper.bbSel2(archiveMasterVo);
return new OffsetLimitPage((Page) list);
}
@Override
public List<Archive_Master_Vo> selectHandleDetail(Archive_Master_Vo archiveMasterVo) {
List<Archive_Master_Vo> list = archiveMasterMapper.selectHandleDetail(archiveMasterVo);
return list;
}
@Override
public OffsetLimitPage selectHandleDetail(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master_Vo> list = archiveMasterMapper.selectHandleDetail(archiveMasterVo);
return new OffsetLimitPage((Page) list);
}
@Override
public List<Archive_Master_Vo> selectOverdue(Archive_Master_Vo archiveMasterVo) {
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue(archiveMasterVo);
return list;
}
@Override
public OffsetLimitPage selectOverdue(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master_Vo> list = archiveMasterMapper.selectOverdue(archiveMasterVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Archive_Master_Vo archive_master : list) {
JSONObject userInfo = mappedMovies.get(archive_master.getDoctorInCharge());
if (userInfo==null){
archive_master.setDoctorInCharge(archive_master.getDoctorInCharge());
}else {
archive_master.setDoctorInCharge(userInfo.getString("name"));
}
userInfo = mappedMovies.get(archive_master.getFirstInstance());
if (userInfo==null){
archive_master.setFirstInstance(archive_master.getFirstInstance());
}else {
archive_master.setFirstInstance(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public OffsetLimitPage selectByFollowinglog(Archive_Master_Vo record, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Archive_Master_Vo> list = archiveMasterMapper.selectByFollowinglog(record);
return new OffsetLimitPage((Page) list);
}
}

@ -6,18 +6,24 @@
*/
package com.emr.service.ipml;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.emr.dao.Emr_Fault_DetailMapper;
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.PowerUserService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.google.common.base.Function;
import com.google.common.collect.Maps;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@Service
public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
@ -30,6 +36,9 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
@Autowired
private Emr_DictionaryService emrDictionaryService;
@Autowired
private PowerUserService powerUserService;
/**
*
* @param emrFaultVo
@ -95,14 +104,145 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
}
@Override
public Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail record) {
return emrFaultDetailMapper.selectByArchiveDetailId(record);
public Emr_Fault_Detail selectByArchiveDetailId(Emr_Fault_Detail emrFaultDetail) {
return emrFaultDetailMapper.selectByArchiveDetailId(emrFaultDetail);
}
@Override
public int insertSel(Emr_Fault_Detail record) {
return emrFaultDetailMapper.insertSel(record);
}
@Override
public List<Emr_Fault_Vo> selectByColumn(Emr_Fault_Detail emrFaultDetail) {
return emrFaultDetailMapper.selectByColumn(emrFaultDetail);
}
@Override
public OffsetLimitPage selectByColumn(Emr_Fault_Detail emrFaultDetail, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Emr_Fault_Vo> list = emrFaultDetailMapper.selectByColumn(emrFaultDetail);
return new OffsetLimitPage((Page) list);
}
@Override
public int deleteById(Integer id) {
return emrFaultDetailMapper.deleteById(id);
}
@Override
public int delByArchiveId(Emr_Fault_Detail record) {
return emrFaultDetailMapper.delByArchiveId(record);
}
@Override
public int delbyCol(Emr_Fault_Detail record) {
return emrFaultDetailMapper.delbyCol(record);
}
@Override
public Emr_Fault_Detail selectById(Integer id) {
return emrFaultDetailMapper.selectById(id);
}
@Override
public Emr_Fault_Detail selectByDept(Emr_Fault_Detail emrFaultDetail) {
return emrFaultDetailMapper.selectByDept(emrFaultDetail);
}
@Override
public List<Emr_Fault_Detail> selectByArchiveId(Emr_Fault_Detail emrFaultDetail) {
return emrFaultDetailMapper.selectByArchiveId(emrFaultDetail);
}
@Override
public OffsetLimitPage selectStorageByCol(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
//return emrFaultDetailMapper.selectByCol(emrFaultDetail);
PageHelper.offsetPage(offset, limit);
List<Emr_Fault_Vo> list = emrFaultDetailMapper.selectStorageByCol(emrFaultVo);
Emr_Dictionary dic = new Emr_Dictionary();
dic.setEffective(1);
dic.setTypecode("dept_code");
//科室列表
List<Emr_Dictionary> dicList = emrDictionaryService.dicByTypeCode(dic);
//获取缺陷类别列表
Emr_Fault_Type obj = new Emr_Fault_Type();
obj.setEffective(1);
List<Emr_Fault_Type> typeLis = emrFaultTypeService.selectByCol(obj);
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()))) {
//出院科室
deptName = deptName.replace(deptName, dicList.get(k).getName());
list.get(i).setDeptName(deptName);
dept2 = dept2.replace(dept2, dicList.get(k).getName());
list.get(i).setDeptAdmissionTo(dept2);
}
}
String assortId = list.get(i).getAssortId();
if(assortId!="" && assortId!=null) {
String[] assorArr = assortId.split(",");
//替换类别
for (int j = 0; j < typeLis.size(); j++) {
String id = String.valueOf(typeLis.get(j).getId());
if (Arrays.asList(assorArr).contains(id)) {
assortId = assortId.replace(id, typeLis.get(j).getTypeName());
list.get(i).setAssortId(assortId);
}
}
}
}
return new OffsetLimitPage((Page) list);
}
@Override
public List<Emr_Fault_Vo> getQualityControlList(Emr_Fault_Vo emrFaultVo) {
return emrFaultDetailMapper.getQualityControlList(emrFaultVo);
}
@Override
public OffsetLimitPage getQualityControlList(Emr_Fault_Vo emrFaultVo, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<Emr_Fault_Vo> list = emrFaultDetailMapper.getQualityControlList(emrFaultVo);
JSONArray powerUsers = powerUserService.getPowerUserList("1");
List<JSONObject> powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class);
if (powerUserList != null){
Map<String,JSONObject> mappedMovies = Maps.uniqueIndex(powerUserList, new Function<JSONObject,String>() {
@Override
public String apply(JSONObject temp) {
return temp.getString("userName");
}});
for (Emr_Fault_Vo emr_fault_vo : list) {
JSONObject userInfo = mappedMovies.get(emr_fault_vo.getDoctorInCharge());
if (userInfo==null){
emr_fault_vo.setDoctorInCharge(emr_fault_vo.getDoctorInCharge());
}else {
emr_fault_vo.setDoctorInCharge(userInfo.getString("name"));
}
userInfo = mappedMovies.get(emr_fault_vo.getCreater());
if (userInfo==null){
emr_fault_vo.setCreater(emr_fault_vo.getCreater());
}else {
emr_fault_vo.setCreater(userInfo.getString("name"));
}
}
}
return new OffsetLimitPage((Page) list);
}
}

@ -1,7 +1,6 @@
package com.emr.service.ipml;
import com.emr.dao.Emr_LogMapper;
import com.emr.entity.Emr_Fault_Vo;
import com.emr.entity.Emr_Log;
import com.emr.entity.Emr_Log_Vo;
import com.emr.entity.OffsetLimitPage;

@ -31,12 +31,23 @@ public class V_CountServiceImpl implements V_CountService {
return vCountMapper.selectByCol(record);
}
@Override
public OffsetLimitPage selectPageByClo(V_Count record, Integer offset, Integer limit) {
PageHelper.offsetPage(offset, limit);
List<V_Count> list = vCountMapper.selectByCol(record);
return new OffsetLimitPage((Page) list);
}
@Override
public List<V_Count2> selByDept(V_Count2 record) {
return vCountMapper.selByDept(record);
}
@Override
public List<V_Count2> selByCharge(V_Count2 record) {
return vCountMapper.selByCharge(record);
}
}

@ -84,6 +84,7 @@ public class MyRealm extends AuthorizingRealm {
//通过表单接收的用户名
String username = token.getUsername();
String userpwd = String.valueOf(token.getPassword());
if (username != null && !"".equals(username)) {
/*User user = userService.getUserByUsername(username);
if (user != null) {
@ -96,7 +97,8 @@ public class MyRealm extends AuthorizingRealm {
if((obj.getString("code")).equals("100")){
//当验证都通过后,把用户信息放在 session 里
Session session = SecurityUtils.getSubject().getSession();
// session.setTimeout(30*24 * 60 * 60);//以秒为单位即在没有活动30分钟后session将失效
//session.setTimeout(4 * 3600);//以秒为单位即在没有活动4小时后session将失效
session.setTimeout(-1);//以秒为单位session将失效
session.setAttribute("menuList", obj);
//session.setAttribute("userSession",username);
//session.setAttribute("userSessionId", users.get(0).getId());
@ -104,14 +106,13 @@ public class MyRealm extends AuthorizingRealm {
//当验证都通过后,把用户信息放在 session 里
JSONObject list= (JSONObject) obj.getJSONObject("extend");
//System.out.println(list);
session.setAttribute("userSession", username);
return new SimpleAuthenticationInfo(username, userpwd, getName());
}
}
}
System.out.println("认证失败");
return null;
}
}

@ -4,6 +4,7 @@
*/
package com.emr.util;
import com.emr.entity.Archive_Detail;
import org.apache.commons.lang3.CharUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.*;
@ -33,7 +34,7 @@ public class ExportExcelUtil {
* */
public List<String> getFieldName(String tableThNames){
String[] names = tableThNames.split(",");
List<String> fieldName = new ArrayList<>();
List<String> fieldName = new ArrayList<String>();
if (names != null) {
for (int i = 0; i < names.length; i++) {
if (StringUtils.isNoneBlank(names[i])) {

@ -220,7 +220,7 @@ public class HttpClientUtils {
HttpPost httpPost = new HttpPost(url);
// 创建参数列表
if (param != null) {
List<NameValuePair> paramList = new ArrayList<>();
List<NameValuePair> paramList = new ArrayList<NameValuePair>();
for (String key : param.keySet()) {
paramList.add(new BasicNameValuePair(key, param.get(key)));
}

@ -9,6 +9,7 @@ package com.emr.util;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.itextpdf.text.Document;
@ -20,7 +21,7 @@ import org.springframework.beans.factory.annotation.Value;
public class PDFUtils {
public static void main(String[] args) {
public static void main(String[] args) throws IOException {
// File[] pdfs = new File[9];
// pdfs[0] = new File("C:\\Users\\Administrator\\Desktop\\病案pdf\\1422482_1\\d10db823-7af0-407f-bfb9-cb992a271dac.pdf");
// pdfs[1] = new File("C:\\Users\\Administrator\\Desktop\\病案pdf\\1422482_1\\dc37ad48-5392-4239-bb07-d39a6d975a4b.pdf");
@ -38,9 +39,33 @@ public class PDFUtils {
// } catch (IOException | DocumentException e) {
// e.printStackTrace();
// }
String projectPath = System.getProperty("user.dir") + "\\static\\img\\pdfFiles\\typesPdf\\";
System.out.println("projectPath==" + projectPath);
File f = new File("");
String courseFile=f.getCanonicalPath();
//System.out.println(courseFile+"sss");
String projectPath = System.getProperty("user.dir");
projectPath = projectPath.replace("bin", "webapps\\emr_medical_record\\static\\img\\pdfFiles\\typesPdf\\");
//System.out.println("projectPath==" + projectPath);
PDFUtils.delAllFile(projectPath);
String path2= "C:\\Users\\Administrator\\Desktop\\测试\\aa\\";
File outFile = new File(path2);
//如果文件夹不存在则创建
if (!outFile.exists() && !outFile.isDirectory()) {
outFile.mkdirs();
}
// PDFUtils.delAllFile(path2);
List pdfList = new ArrayList();
pdfList.add("C:\\Users\\Administrator\\Desktop\\测试\\ttt.pdf");
pdfList.add("C:\\Users\\Administrator\\Desktop\\测试\\sss.pdf");
pdfList.add("C:\\Users\\Administrator\\Desktop\\测试\\15511.pdf");
//List pdfError=getPdf("C:\\Users\\Administrator\\Desktop\\测试\\合成.pdf", pdfList);
//System.out.println(pdfError.get(0));
}
//删除指定文件夹下的所有文件
@ -73,7 +98,8 @@ public class PDFUtils {
return flag;
}
public static void getPdf(String filePath, List pathArr){
public static List getPdf(String filePath, List pathArr){
List pdfList = new ArrayList();
if(pathArr!=null) {
File[] pdfs = new File[pathArr.size()];
for (int i = 0; i < pathArr.size(); i++) {
@ -81,11 +107,12 @@ public class PDFUtils {
}
File mergedPdf = new File(filePath);
try {
merge(pdfs, mergedPdf);
} catch (IOException | DocumentException e) {
pdfList=merge(pdfs, mergedPdf);
} catch (Exception e) {
e.printStackTrace();
}
}
return pdfList;
}
/**
@ -94,33 +121,63 @@ public class PDFUtils {
* @throws IOException
* @throws DocumentException
*/
public static void merge(File[] pages, File pdffile) throws IOException,
DocumentException {
public static List merge(File[] pages, File pdffile) throws IOException, DocumentException {
List pdfList = new ArrayList();
if (!pdffile.exists()) {
pdffile.createNewFile();
}
System.out.println(pages.length);
if (pages.length < 1)
return;
Document document = new Document(new PdfReader(
((File) pages[0]).getAbsolutePath()).getPageSize(1));
PdfCopy copy = new PdfCopy(document, new FileOutputStream(pdffile));
document.open();
for (int i = 0; i < pages.length; i++) {
PdfReader reader = new PdfReader((pages[i]).getAbsolutePath());
int num = reader.getNumberOfPages();
for (int j = 1; j <= num; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
//System.out.println(pages.length);
if (pages.length >0) {
Document document = new Document(new PdfReader(
((File) pages[0]).getAbsolutePath()).getPageSize(1));
PdfCopy copy = new PdfCopy(document, new FileOutputStream(pdffile));
document.open();
for (int i = 0; i < pages.length; i++) {
//判断PDF是否损坏
boolean bol = checkPdfFile(pages[i].toString());
if (bol) {
PdfReader reader = new PdfReader((pages[i]).getAbsolutePath());
int num = reader.getNumberOfPages();
for (int j = 1; j <= num; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
} else {
//列出所有损坏的文件信息
pdfList.add(pages[i].toString());
}
}
// System.out.println("----------------------------------");
copy.close();
document.close();
// for (File page : pages) {
// page.deleteOnExit();
// }
}
System.out.println("----------------------------------");
document.close();
// for (File page : pages) {
// page.deleteOnExit();
// }
return pdfList;
}
private static boolean checkPdfFile(String file) {
boolean flag1 = false;
int n = 0;
try {
com.lowagie.text.pdf.PdfReader reader = new com.lowagie.text.pdf.PdfReader(file);
com.lowagie.text.Document document = new com.lowagie.text.Document(reader.getPageSize(1));
document.open();
n = reader.getNumberOfPages();
if (n != 0)
flag1 = true;
document.close();
} catch (IOException e) {
//System.out.println("文件{path:" + file + "}损坏" + e.fillInStackTrace());
return false;
}
return flag1;
}
}

@ -6,29 +6,33 @@
*/
package com.emr.util;
import java.awt.image.BufferedImage;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.imageio.ImageIO;
import com.emr.entity.Emr_Picture;
import com.lowagie.text.BadElementException;
import com.emr.entity.Archive_Detail;
import com.emr.entity.MergePDFItem;
import com.github.pagehelper.Page;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Image;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfWriter;
import com.lowagie.text.PageSize;
import com.lowagie.text.pdf.*;
import com.lowagie.text.rtf.RtfWriter2;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.sun.javafx.css.Size;
import org.apache.commons.io.FileUtils;
import org.apache.pdfbox.io.MemoryUsageSetting;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* PDFiTextpdf
@ -36,12 +40,108 @@ import org.apache.shiro.subject.Subject;
* @author
*/
public class PrintToPdfUtil {
final private static float A4_weight = 595;//标准A4的宽
final private static float A4_height = 842;//标准A4的高
public static boolean forceDelete(File file) {
boolean result = file.delete();
int tryCount = 0;
while (!result && tryCount++ < 10) {
System.gc(); //回收资源
result = file.delete();
}
return result;
}
/***
* @param picturePath
*
*/
private static void createPic( String picturePath,Document document) {
try {
File file=new File(picturePath);
File[] files = file.listFiles();
Image img =null;
if (files.length > 0) {
for (File file1 : files) {
if (file1.getName().endsWith(".png") || file1.getName().endsWith(".jpg") || file1.getName().endsWith(".gif")
|| file1.getName().endsWith(".jpeg") || file1.getName().endsWith(".tif")) {
// 实例化图片
img = Image.getInstance(file1.getPath());
/*处理图片缩放比例*/
float w = img.getWidth();
float h = img.getHeight();
float percent = 0;
if ((w > A4_weight) && (h < A4_height)) {
percent = (A4_weight * 100) / w;
} else if ((w < A4_weight) && (h > A4_height)) {
percent = (A4_height * 100) / h;
} else if ((w > A4_weight) && (h > A4_height)) {
percent = (A4_weight * 100) / w;
h = (h * percent) / 100;
if (h > A4_height) {
percent = (A4_height * 100) / h;
}
}
// 读取图片流
img.setAlignment(com.lowagie.text.Image.ALIGN_CENTER);
if(percent != 100){
img.scaleAbsolute(A4_weight,A4_height);
}else{
img.scalePercent(percent);
}
document.open();
document.add(img);
}else if(file1.isDirectory()){
//是文件夹迭代
System.out.println(file1.getAbsolutePath());
createPic(file1.getAbsolutePath(),document);
}
}
}
document.close();
} catch (Exception ex) {
}
}
public static void image2pdf(String text,List dirList) throws DocumentException, IOException {
/* Document document = new Document();
OutputStream os = new FileOutputStream(new File(pdf));
PdfWriter.getInstance(document, os);
document.open();*/
//循环类别
if(dirList.size()>0){
for(int i=0;i<dirList.size();i++){
Document document = new Document();
OutputStream os = new FileOutputStream(new File(text+dirList.get(i)+"//"+dirList.get(i)+".pdf"));
PdfWriter.getInstance(document, os);
// document.open();
File file=new File(text+dirList.get(i));
File[] files = file.listFiles();
if (files.length > 0) {
// 循环获取图片文件夹内的图片,全部
createPic(text+dirList.get(i),document);
}
}
}
}
static Document doc =null;
/**
* @param imageFolderPath
* @param pdfPath PDF
*/
public static void toPdf(String imageFolderPath, String pdfPath,List dirList) {
public static String toPdf(String imageFolderPath, String pdfPath,List dirList) {
String msg="";
// 创建文档
doc = new Document(null, 0, 0, 0, 0);
try {
//判断文件夹是否存在
String pdfStr = pdfPath.substring(0, pdfPath.lastIndexOf("\\"));
@ -51,94 +151,107 @@ public class PrintToPdfUtil {
}
//判断pdf是否存在将之前文件删除
File file1 = new File(pdfPath);
//boolean a=forceDelete(file1);
if (file1.exists() && file1.isFile()) {
file1.delete();
}
if (file1.renameTo(file1)) {
file1.delete();
//System.out.println("文件未被操作");
msg="文件未被操作!";
} else {
//System.out.println("文件正在被操作");
msg = "文件正在被操作!";
}
// 输入流
FileOutputStream fos = new FileOutputStream(pdfPath);
// 创建文档
Document doc = new Document(null, 0, 0, 0, 0);
//doc.open();
// 写入PDF文档
PdfWriter.getInstance(doc, fos);
// 获取图片文件夹对象
File file = new File(imageFolderPath);
//imageFolderPath = file.getAbsolutePath() + "\\";
imgFun(imageFolderPath,file, dirList, doc);
}else{
msg = "文件未被操作!";
}
doc.open();
if(msg.equals("文件未被操作!")){
// OutputStream fos = new FileOutputStream(pdfPath);
// 输入流
OutputStream fos = new FileOutputStream(new File(pdfPath));
// 获取图片文件夹对象
File file = new File(imageFolderPath);
// 写入PDF文档
PdfWriter.getInstance(doc, fos);
//imageFolderPath = file.getAbsolutePath() + "\\";
imgFun(imageFolderPath, file, dirList, doc);
try {
if(fos!=null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
if (doc.isOpen()) {
// 关闭文档
doc.close();
}
} catch (Exception e) {
e.printStackTrace();
}finally {
/* if (doc.isOpen()) {
// 关闭文档
doc.close();
}*/
}
return msg;
}
public static void imgFun(String imageFolderPath,File file, List dirList, Document doc){
try {
// 图片地址
String imagePath = null;
// 读取图片流
BufferedImage img = null;
// 实例化图片
Image image = null;
File[] files = file.listFiles();
if (files.length > 0) {
// 循环获取图片文件夹内的图片
doc.open();
// 图片地址
String imagePath = null;
// 读取图片流
//BufferedImage img = null;
// 实例化图片
Image image = null;
File[] files = file.listFiles();
if (files.length > 0) {
// 循环获取图片文件夹内的图片
try {
for (File file1 : files) {
if (file1.getName().endsWith(".png") || file1.getName().endsWith(".jpg") || file1.getName().endsWith(".gif")
|| file1.getName().endsWith(".jpeg") || file1.getName().endsWith(".tif")) {
imageFolderPath = file1.getAbsolutePath();
//createPic(doc, file1.getPath());
// 读取图片流
img = ImageIO.read(new File(imageFolderPath));
//String pdfStr=imageFolderPath.substring(0, imageFolderPath.lastIndexOf("\\")).replace("uploads", "pdfFiles");
//判断文件夹是否存在
//File fileDic = new File(pdfStr);
//if (!fileDic.exists() && !fileDic.isDirectory()) {
//fileDic.mkdirs();
//}
System.out.println("路径" + imageFolderPath);
doc.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
// 根据图片大小设置文档大小
//doc.setPageSize(new Rectangle(img.getWidth(), img.getHeight()));
// 实例化图片
image = Image.getInstance(imageFolderPath);
// 添加图片到文档
doc.open();
doc.add(image);
}
//file.getAbsolutePath().replaceFirst(path, " ");
if (file1.isDirectory()) {
if (dirList != null && dirList.size() > 0) {
if (dirList.indexOf(file1.getName()) != -1) {
System.out.println(file1.getAbsolutePath());
// System.out.println(file1.getAbsolutePath());
imageFolderPath = file1.getAbsolutePath() + "\\";
imgFun(imageFolderPath, file1, dirList, doc);
}
} else {
System.out.println(file1.getAbsolutePath());
//System.out.println(file1.getAbsolutePath());
imageFolderPath = file1.getAbsolutePath() + "\\";
imgFun(imageFolderPath, file1, dirList, doc);
}
}
}
} catch(Exception e){
e.printStackTrace();
} finally {
if (doc.isOpen()) {
// 关闭文档
doc.close();
}
}else{
System.out.println("空文件夹");
}
} catch(Exception e){
e.printStackTrace();
}else{
// System.out.println("空文件夹");
}
}
@ -148,6 +261,7 @@ public class PrintToPdfUtil {
// FileOutputStream fos = new FileOutputStream(pdfPath);
// // 创建文档
Document doc = new Document(null, 0, 0, 0, 0);
// //doc.open();
// // 写入PDF文档
// PdfWriter.getInstance(doc, fos);
@ -160,7 +274,7 @@ public class PrintToPdfUtil {
pdfFun(pdfFolderPath, file, dirList, pdfList, mergePdf);
mergePdf.setDestinationFileName(pdfPath);
mergePdf.mergeDocuments();
System.out.print("done");
//System.out.print("done");
// if (doc.isOpen()) {
// // 关闭文档
// doc.close();
@ -181,7 +295,7 @@ public class PrintToPdfUtil {
if (file1.getName().endsWith(".pdf")) {
//System.out.println(file1.length());
if (pdfList != null && pdfList.size() > 0) {
System.out.println("文件名:"+file1.getName());
//System.out.println("文件名:"+file1.getName());
if (pdfList.indexOf(file1.getName()) != -1) {
}else{
@ -268,24 +382,289 @@ public class PrintToPdfUtil {
}
/*
* * pdf * * @param files ({ "e:\\1.pdf", "e:\\2.pdf" ,
* "e:\\3.pdf"}) * @param newfile
* e:\\temp.pdf, * @return boolean
* true, false
*/
public static boolean mergePdfFiles2(List<MergePDFItem> files, String newfile) throws Exception {
boolean retValue = false;
List<String> tmpFiles = new ArrayList<>();
try
{
for (int i = 0;i<files.size();i++)
{
String file = files.get(i).getPdfPath();
Archive_Detail obj = files.get(i).getdObj();
boolean isScan = obj.getSource().equals("嘉时扫描系统");
if(isScan)
{
String tempFile = FileHelper.GetTempFile();
PDFHelper.Convert2A4(file, tempFile);
tmpFiles.add(tempFile);
}
else
{
tmpFiles.add(file);
}
}
PDFHelper.Append(tmpFiles, newfile);
}
finally {
//清理
}
return retValue;
}
/*
* * pdf * * @param files ({ "e:\\1.pdf", "e:\\2.pdf" ,
* "e:\\3.pdf"}) * @param newfile
* e:\\temp.pdf, * @return boolean
* true, false
*/
public static boolean mergePdfFiles(List files, String newfile) {
boolean retValue = false;
Document document = null;
try {
System.out.println(files.get(0).toString());
// // 定义文档对象
// PDDocument document2 = new PDDocument();
// // 定义一页大小A4
// PDPage page = new PDPage(PDRectangle.A4);
// document2.addPage(page);
// document = new Document(new PdfReader(files.get(0).toString()).getPageSize(1));
document = new Document(PageSize.A4);
PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream(newfile));
document.open();
PdfContentByte cb = pdfWriter.getDirectContent();
for (int i = 0; i < files.size(); i++) {
String file = files.get(i).toString();
PdfReader pdfReader = new PdfReader(file);
// 循环PDF的每一页 pdfWriter.getImportedPage(pdfReader, index) idnex从1开始
for (int j = 1; j <= pdfReader.getNumberOfPages(); j++) {
// 新增一页不然多页的PDF会重合到一页
document.newPage();
PdfImportedPage page = pdfWriter.getImportedPage(pdfReader, j);
// 计算缩小比例 以最大缩小比例为主
// pdfReader.getPageSize(index) index是从1开始不是0
float w = PageSize.A4.getWidth() / pdfReader.getPageSize(1).getWidth();
float h = PageSize.A4.getHeight() / pdfReader.getPageSize(1).getHeight();
float Scale = w > h ? h : w;
cb.addTemplate(page, Scale, 0, 0, Scale, 0, 0);
}
}
document.close();
/*PdfCopy copy = new PdfCopy(document, new FileOutputStream(newfile));
document.open();
for (int i = 0; i < files.size(); i++) {
boolean bol = checkPdfFile(files.get(i).toString());
System.out.println(bol);
if(bol) {
PdfReader reader = new PdfReader(files.get(i).toString());
int n = reader.getNumberOfPages();
for (int j = 1; j <= n; j++) {
document.newPage();
PdfImportedPage page = copy.getImportedPage(reader, j);
copy.addPage(page);
}
}else{
}
}*/
retValue = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
document.close();
}
return retValue;
}
public static File mulFile2One(List<File> files, String targetPath) throws IOException {
// pdf合并工具类
PDFMergerUtility mergePdf = new PDFMergerUtility();
for (File f : files) {
boolean bol = checkPdfFile(f.toString());
if (bol) {
if (f.exists() && f.isFile()) {
// 循环添加要合并的pdf
mergePdf.addSource(f);
}
}
}
// 设置合并生成pdf文件名称
mergePdf.setDestinationFileName(targetPath);
// 合并pdf
mergePdf.mergeDocuments(MemoryUsageSetting.setupMainMemoryOnly());
return new File(targetPath);
}
/**
*
*
* @param oldPath String c:/fqf.txt
* @param newPath String f:/fqf.txt
* @return boolean
*/
public static void copyFile(String oldPath, String newPath) {
try {
// int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
// int length;
while ((byteread = inStream.read(buffer)) != -1) {
// bytesum += byteread; //字节数 文件大小
// System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
} catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
} finally {
//将之前文件删除
File file2 = new File(oldPath);
if (file2.exists() && file2.isFile()) {
file2.delete();
}
}
}
public static void main(String[] args) {
public static void main(String[] args) throws IOException {
String pdfFile = String.valueOf(System.currentTimeMillis());
//读取指定路径下的文件名和目录名
List list = new ArrayList();
//list.add("123");
list.add("45646546");
//图片转PDF(病案号文件夹+类别文件夹)
//toPdf("C:/Users/Administrator/Desktop/cs/123123/", "C:/Users/Administrator/Desktop/cs/123123/" + pdfFile + ".pdf", list);
//过个pdf合成一个
// String str=toPdf("C:\\Users\\Administrator\\Desktop\\测试\\uploadImage\\", "C:\\Users\\Administrator\\Desktop\\测试\\" + "123.pdf", list);
// System.out.println(str);
//个pdf合成一个
//pdtToPdf("D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\pdfFiles\\1333ad3c4d6448c89372835dbad3c364\\", "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\pdfFiles\\typesPdf\\"+ pdfFile+".pdf", list);
//图片移动
moveTotherFolders("D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\HC3SL2HENH348M8X619PMCA7GC5R3125\\2019071905226021565006922724小程序界面.png","D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\SDV1QEHUPQRQ8GXJE4RQH0FGAS1V7HM0\\");
moveTotherFolders("D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp/static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\HC3SL2HENH348M8X619PMCA7GC5R3125\\2019071905226021565064554400fw.jpg", "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\3\\");
//moveTotherFolders("D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\HC3SL2HENH348M8X619PMCA7GC5R3125\\2019071905226021565006922724小程序界面.png","D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\SDV1QEHUPQRQ8GXJE4RQH0FGAS1V7HM0\\");
//moveTotherFolders("D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp/static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\HC3SL2HENH348M8X619PMCA7GC5R3125\\2019071905226021565064554400fw.jpg", "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\1333ad3c4d6448c89372835dbad3c364\\3\\");
List list1 = new ArrayList();
list.add("C:\\Users\\HIPAA\\Desktop\\测试\\ttt.pdf");
list.add("C:\\Users\\HIPAA\\Desktop\\测试\\sss.pdf");
//String[] files = {"C:\\Users\\Administrator\\Desktop\\新建文件夹\\ttt.pdf", "C:\\Users\\Administrator\\Desktop\\新建文件夹\\sss.pdf"};
String savepath = "C:\\Users\\HIPAA\\Desktop\\测试\\temp.pdf";
//mergePdfFiles(list1, savepath);
//mergePdfFiles(list1, savepath);
//PrintToPdfUtil.copyFile("C:\\Users\\Administrator\\Desktop\\新建文件夹\\ttt.pdf", "C:\\Users\\Administrator\\Desktop\\新建文件夹\\123\\ttt.pdf");
List pdfList = new ArrayList();
//pdfList.add("C:\\Users\\Administrator\\Desktop\\测试\\ttt.pdf");
pdfList.add("C:\\Users\\HIPAA\\Desktop\\测试\\sss7.pdf");
pdfList.add("C:\\Users\\HIPAA\\Desktop\\测试\\15511.pdf");
//mergePdfFiles(pdfList, "C:\\Users\\Administrator\\Desktop\\测试\\合成.pdf");
ArrayList<String> pdffiles = new ArrayList<String>();
//pdffiles.add("C:\\Users\\Administrator\\Desktop\\测试\\15511.pdf");
// pdffiles.add("D:\\project\\yingde\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\pdfFiles\\0f6e6941028c44b8b8ea070f27480416\\HC3SL2HENH348M8X619PMCA7GC5R3125\\HC3SL2HENH348M8X619PMCA7GC5R3125.pdf");
//boolean checkPdf=CheckPdfFiles(pdffiles);
//System.out.println(checkPdf);
//判断文件是否损坏
//boolean bol=checkPdfFile("D:\\project\\yingde\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\pdfFiles\\0f6e6941028c44b8b8ea070f27480416\\HC3SL2HENH348M8X619PMCA7GC5R3125\\HC3SL2HENH348M8X619PMCA7GC5R3125.pdf");
//System.out.println(bol);
List<File> files = new ArrayList<File>();
pdffiles.add("C:\\Users\\Administrator\\Desktop\\测试\\15511.pdf");
pdffiles.add("C:\\Users\\Administrator\\Desktop\\测试\\153333511.pdf");
//files.add(new File("C:\\Users\\Administrator\\Desktop\\测试\\123.pdf"));
//files.add(new File("C:\\Users\\Administrator\\Desktop\\测试\\sss.pdf"));
//files.add(new File("C:\\Users\\Administrator\\Desktop\\测试\\ttt333.pdf"));
//File f = mulFile2One(files, "C:\\Users\\Administrator\\Desktop\\测试\\mul2one.pdf");
//复制pdf文件
/*File file=new File("C:\\Users\\Administrator\\Desktop\\images\\报表工具v2.4操作手册文档.pdf");
save(file, "cc.pdf", "C:\\Users\\Administrator\\Desktop\\images");*/
}
public static boolean checkPdfFile(String file) {
boolean flag1 = false;
int n = 0;
try {
//文件不存在
File file2 = new File(file);
if (file2.exists()) {
//文件损坏
PdfReader reader = new PdfReader(file);
Document document = new Document(reader.getPageSize(1));
document.open();
n = reader.getNumberOfPages();
if (n != 0) {
flag1 = true;
}
document.close();
//System.out.println("pdf 存在");
} else {
//System.out.println("pdf 不存在");
}
} catch (IOException e) {
//System.out.println("文件{path:" + file + "}损坏"+ e.fillInStackTrace());
return false;
}
return flag1;
}
private static boolean CheckPdfFiles(List files) {
boolean flag = false;
for (int i = 0; i < files.size(); i++) {
flag = check(files.get(i).toString());
if (!flag) {
System.out.println(files.get(i).toString() + "文件损坏");
}
}
return flag;
}
/**
* itextpdf
*/
private static boolean check(String file) {
boolean flag1 = false;
int n = 0;
try {
Document document = new Document(new PdfReader(file).getPageSize(1));
document.open();
PdfReader reader = new PdfReader(file);
n = reader.getNumberOfPages();
if (n != 0)
flag1 = true;
document.close();
} catch (IOException e) {
e.printStackTrace();
}
return flag1;
}
}

@ -23,13 +23,13 @@ public class ReadFile {
for (int i = 0; i < fileList.length; i++) {
if (fileList[i].isFile()) {
String fileName = fileList[i].getName();
System.out.println("文件:" + fileName);
//System.out.println("文件:" + fileName);
}
if (fileList[i].isDirectory()) {
//if(divList.indexOf(fileList[i].getName())!=-1) {
String fileName = fileList[i].getName();
System.out.println("目录:" + fileName);
//System.out.println("目录:" + fileName);
// }
}
@ -38,12 +38,12 @@ public class ReadFile {
public static void printFile(File file) {
if (file.isFile()) {
System.out.println("您给定的是一个文件"); // 判断给定目录是否是一个合法的目录,如果不是,输出提示
//System.out.println("您给定的是一个文件"); // 判断给定目录是否是一个合法的目录,如果不是,输出提示
} else {
File[] fileLists = file.listFiles(); // 如果是目录,获取该目录下的内容集合
for (int i = 0; i < fileLists.length; i++) { // 循环遍历这个集合内容
System.out.println(fileLists[i].getName()); //输出元素名称
//System.out.println(fileLists[i].getName()); //输出元素名称
if (fileLists[i].isDirectory()) { //判断元素是不是一个目录
printFile(fileLists[i]); //如果是目录,继续调用本方法来输出其子目录
}

@ -50,7 +50,7 @@ public class UrlUtil {
}
//有参数
String[] params = urlParts[1].split("&");
entity.params = new HashMap<>();
entity.params = new HashMap();
for (String param : params) {
String[] keyValue = param.split("=");
entity.params.put(keyValue[0], keyValue[1]);

@ -6,11 +6,17 @@
*/
package com.emr.util;
import com.emr.webservice.MedicalRecordShowBackContent.*;
import com.lowagie.text.PageSize;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfReader;
import com.lowagie.text.pdf.PdfStamper;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class test {
private static String[] getFiles(String folder) throws IOException {
@ -30,30 +36,134 @@ public class test {
String[] filesInFolder = getFiles(folder);
for (int i = 0; i < filesInFolder.length; i++){
mergePdf.addSource(folder + File.separator + filesInFolder[i]);
System.out.println(filesInFolder[i]);
//System.out.println(filesInFolder[i]);
}
mergePdf.setDestinationFileName(folder + File.separator + fileName);
System.out.println(folder);
// System.out.println(folder);
mergePdf.mergeDocuments();
System.out.print("done");
//System.out.print("done");
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
// String folder = "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\pdfFiles";
// String folder = "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\pdfFiles";
// String fileName = "mergedTest.pdf";
//pdfToPdf(folder, fileName);
String str = "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\4\\a.jpg";
//String str = "D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\static\\img\\uploads\\4\\a.jpg";
//获得第一个点的位置
int index = str.indexOf("\\static");
// int index = str.indexOf("\\static");
//String result = str.substring(0,index+1);
//输出结果
System.out.println(str.substring(index, str.length()));
///System.out.println(str.substring(index, str.length()));
// JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
// Client client = dcf.createClient(HomepageDictionary);
// Object[] objects = client.invoke("getInfosByUserId", token, "emr_medical_record");
// System.out.println(client);
// try {
// String endpoint = "http://120.27.212.36:9999/filing/services/HomepageDictionary?wsdl";
// //String endpoint = "http://localhost:8080/ca3/services/caSynrochnized?wsdl";
// //直接引用远程的wsdl文件
// //以下都是套路
// Service service = new Service();
// Call call = (Call) service.createCall();
// call.setTargetEndpointAddress(endpoint);
// call.setOperationName(new QName("http://interfaces.ann.com/", "CheckData"));
//
// //call.setOperationName("CheckData");//WSDL里面描述的接口名称
// call.addParameter("masterId", org.apache.axis.encoding.XMLType.XSD_DATE, javax.xml.rpc.ParameterMode.IN);//接口的参数
// call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);//设置返回类型
// String temp = "02e4ba493dc643c9926926662327995e";
// String result = (String) call.invoke(new Object[]{temp});
// //给方法传递参数,并且调用方法
//
// System.out.println("result is " + result);
//
// } catch (Exception e) {
// System.err.println(e.toString());
//
// }
/*String method = "CheckData";
JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
//Client client = factory.createClient("http://120.27.212.36:9999/filing/services/HomepageDictionary?wsdl");
Client client = factory.createClient("http://127.0.0.1:8080/WholeCheckInterface/services/HomepageDictionary?wsdl");
// Endpoint endpoint2 = client.getEndpoint();
// QName opName = new QName(endpoint2.getService().getName().getNamespaceURI(), method);
// BindingInfo bindingInfo = endpoint2.getEndpointInfo().getBinding();
// if (bindingInfo.getOperation(opName) == null) {
// for (BindingOperationInfo operationInfo : bindingInfo.getOperations()) {
// if (method.equals(operationInfo.getName().getLocalPart())) {
// opName = operationInfo.getName();
// break;
// }
// }
// }
Object[] res = null;
res = client.invoke("CheckData","3f3d18cf-6f75-4367-9ada-3684e176c102");
String xml = (String) res[0];
System.err.println("@@@@@@@@@@@@@@@@@" + xml);*/
// String endpoint = "http://10.6.1.152:8037/SignWebService.asmx?WSDL";
// String method = "MedicalRecordRepair";
String mrFILECALLBACKRECORDxml="";//入参1
String mrFILEINDEXCALLBACKxml="";//入参2
MR_FILE_CALLBACK_RECORDxml inputParam1 = new MR_FILE_CALLBACK_RECORDxml();
inputParam1.setPATIENT_ID("2");
inputParam1.setVISIT_ID("2");
inputParam1.setFILE_UNIQUE_ID("1");
inputParam1.setAPPLY_DATE_TIME("2014-04-15T10:51:39");
inputParam1.setAPPLY_TIME_LIMIT("2014-04-15T10:51:39");
inputParam1.setAPPLY_REASON("1");
inputParam1.setEXPIRY_TIME("2014-04-15T10:51:39");
MR_FILE_INDEX_CALLBACKxml inputParam2 = new MR_FILE_INDEX_CALLBACKxml();
inputParam2.setPATIENT_ID("2");
inputParam2.setVISIT_ID("2");
inputParam2.setAPPLY_DATE_TIME("2014-04-15T10:51:39");
inputParam2.setAPPLY_TIME_LIMIT("2014-04-15T10:51:39");
inputParam2.setAPPLY_USER_NAME("1");
inputParam2.setAPPLY_DEPT_CODE("1");
inputParam2.setSTATUS("1");
inputParam2.setAPPROVE_USER_ID("1");
inputParam2.setAPPROVE_USER_NAME("1");
inputParam2.setAPPROVE_DEPT_CODE("1");
inputParam2.setAPPROVE_DATE_TIME("2014-04-15T10:51:39");
inputParam2.setAPPLY_REASON("1");
inputParam2.setCLINIC_TYPE("0");
inputParam2.setOPERATOR_TYPE("0");
inputParam2.setLIMIT_DATE("2014-04-15T10:51:39");
mrFILECALLBACKRECORDxml = XMLUtil.convertToXml(inputParam1);
mrFILEINDEXCALLBACKxml = XMLUtil.convertToXml(inputParam2);
System.out.println(mrFILECALLBACKRECORDxml);
System.out.println(mrFILEINDEXCALLBACKxml);
// JaxWsDynamicClientFactory factory = JaxWsDynamicClientFactory.newInstance();
// Client client = factory.createClient(endpoint);
SignWebService signWebService = new SignWebService();
SignWebServiceSoap signWebServiceSoap = signWebService.getSignWebServiceSoap();
String str = signWebServiceSoap.medicalRecordRepair(mrFILECALLBACKRECORDxml, mrFILEINDEXCALLBACKxml);
System.out.println(str);
/*String file = "d:/1.pdf";
String file2 = "d:/0.pdf";
PdfReader pdfReader = new PdfReader(file);
// PdfStamper pt = new PdfStamper(pdfReader,new FileOutputStream(file2));
// pt.setRotateContents(false);
// Rectangle p = pt.getOverContent(1).getPdfDocument().getPageSize();
Rectangle p2 =pdfReader.getPageSizeWithRotation(1);
// pt.close();
System.out.println(p2);*/
}
}

@ -11,9 +11,9 @@
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
@ -45,8 +45,6 @@
<property name="maxIdleTime" value="20"/> <!--最大空闲时间-->
</bean>
<!-- ====================== 配置和MyBatis的整合 ======================== -->
<!--配置session工厂MyBatis的整合-->

@ -4,10 +4,11 @@
#jdbc.username=root
#jdbc.password=docus702
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc\:sqlserver\://120.27.212.36:1433;databaseName=emr_record
#jdbc.url=jdbc\:sqlserver\://120.27.212.36:1433;databaseName=emr_record
jdbc.url=jdbc\:sqlserver\://127.0.0.1:1433;databaseName=emr_recode_test
jdbc.username=sa
jdbc.password=docus@702
#jdbc.driverLocation=D:\\project_js\\EMR_Medical_Record\\src\\main\\webapp\\WEB-INF\\lib\\sqljdbc4-2.0.jar
jdbc.password=123456
jdbc.driverLocation=D:\\sqljdbc4-4.0.0.jar
#\u6267\u884C:\u53F3\u952E Run As ---->Maven build ---->Goals:mybatis-generator:generate
#\u8F93\u51FA\u76EE\u5F55
targetProject=src/main/java

@ -1,8 +1,5 @@
#jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc\:mysql\://localhost\:3306/emr_record?useUnicode\=true&characterEncoding\=utf-8
#jdbc.url=jdbc\:mysql\://120.27.212.36\:3306/emr_record?useUnicode\=true&characterEncoding\=utf-8
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc\:sqlserver\://120.27.212.36:1433;databaseName=emr_record
jdbc.url=jdbc\:sqlserver\://120.27.212.36:1433;databaseName=emr_recode_test
#jdbc.url=jdbc\:sqlserver\://10.6.1.127:1433;databaseName=DB_PrivilegeManagement_GYFY
jdbc.username=sa
jdbc.password=docus@702
@ -15,18 +12,37 @@ hibernate.hbm2ddl.auto=update
hibernate.current_session_context_class=thread
hibernate.jdbc.batch_size=50
hibernate.enable_lazy_load_no_trans=true
#\u56FE\u7247\u5730\u5740
pictureUrl=
#pictureUrl=src\\main\\webapp
#\u83DC\u5355\u63A5\u53E3http://120.27.212.36:8888/power/font/getMenusByUserIdAndSysFlag
#powerUrl=http://120.27.212.36:8888/power/font/getMenusByUserIdAndSysFlag
#POWER_URLHEAD=http://120.27.212.36:8888/power
#power\u6743\u9650\u7CFB\u7EDF\u7684\u670D\u52A1\u5668\u5730\u5740\u5934\u5982\uFF1Ahttp://192.168.1.3:8081/power
powerUrl=http://192.168.1.102:8080/power/font/getMenusByUserIdAndSysFlag
POWER_URLHEAD=http://192.168.1.102:8080/power
POWER_JSP=http://192.168.1.102:8080/power
recallReason=\u533B\u9662\u9700\u8981\u8FD9\u4EFD\u6587\u6863
#图片地址
pictureUrl=C:\\Users\\Administrator\\Desktop\\test\\uploadImage
##注意自动生成pdf地址不能和本地上传pdf地址相同
#本地自动生成PDF地址
autoPdfUrl=C:/Users/Administrator/Desktop/test/autoPdf
#本地上传PDF地址
pdfUrl=C:\\Users\\Administrator\\Desktop\\test\\localPdf
#PDF文件不存在或损坏列表地址
pdfErrorUrl=C:\\Users\\Administrator\\Desktop\\test\\error\\
#超期天数
expired=7
#死亡超期天数
deathExpired=7
#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
#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
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=医院需要这份文档
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

@ -1,3 +1,4 @@
#Debug,info,warning,error
#log4j.rootLogger=debug,stdout,logfile
#log4j.addivity.org.apache=true

@ -6,6 +6,7 @@
<settings>
<!-- 列自动映射 -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

@ -26,6 +26,7 @@
/batch/**=anon
/css/**=anon
/js/**=anon
/noauthc/**=anon
/home=perms[home] <!--perms表示需要该权限才能访问的页面-->
/admin=roles["admin"] <!-- roles["admin,user"] 只有拥有admin角色的用户才可访问同时需要拥有多个角色的话用引号引起来中间用逗号隔开-->
<!--/admin=anon-->

@ -101,9 +101,13 @@
<!--enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false"/>-->
<table tableName="Emr_Fault_Type" domainObjectName="Emr_Fault_Type" enableCountByExample="false"
<!--<table tableName="Emr_Medical_Staff_Remark" domainObjectName="Emr_Medical_Staff_Remark" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"/>
selectByExampleQueryId="false"/>-->
<table tableName="TempMasterID" domainObjectName="TempMasterID" enableCountByExample="false"
enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="true"
selectByExampleQueryId="false"/>
</context>
</generatorConfiguration>

@ -12,6 +12,8 @@
<result column="Title" jdbcType="NVARCHAR" property="title" />
<result column="flag" jdbcType="NVARCHAR" property="flag" />
<result column="Sys" jdbcType="NVARCHAR" property="sys" />
<result column="page_number" jdbcType="INTEGER" property="pageNumber"/>
<result column="del_assortID" jdbcType="INTEGER" property="delAssortID"/>
</resultMap>
<resultMap id="BaseResultMap2" type="com.emr.entity.Archive_Detail_Vo">
<result column="id" jdbcType="NVARCHAR" property="id"/>
@ -24,6 +26,7 @@
<result column="Title" jdbcType="NVARCHAR" property="title"/>
<result column="flag" jdbcType="NVARCHAR" property="flag"/>
<result column="Sys" jdbcType="NVARCHAR" property="sys"/>
<result column="page_number" jdbcType="INTEGER" property="pageNumber"/>
<result column="patient_id" property="patientId" jdbcType="VARCHAR"/>
<result column="assort_id" property="assortId" jdbcType="VARCHAR"/>
<result column="scan_page" property="scanPage" jdbcType="VARCHAR"/>
@ -31,15 +34,21 @@
<result column="assort_sort" property="assortSort" jdbcType="SMALLINT"/>
<result column="print_flag" property="printFlag" jdbcType="VARCHAR"/>
<result column="pageNum" property="pageNum" jdbcType="INTEGER"/>
<result column="del_assortID" jdbcType="INTEGER" property="delAssortID"/>
<result column="ArchiveState" jdbcType="NVARCHAR" property="archivestate"/>
<result column="cmt_doctor_date" jdbcType="NVARCHAR" property="cmtDoctorDate"/>
<result column="cmt_nurse_date" jdbcType="NVARCHAR" property="cmtNurseDate"/>
<result column="create_time" jdbcType="NCHAR" property="createTime"/>
</resultMap>
<sql id="Base_Column_List">
id, PDF_PATH, MasterID, UpLoadDateTime, AssortID, Source, SubAssort, Title, flag,
Sys
Sys,page_number
</sql>
<select id="selectByClo" resultMap="BaseResultMap2" parameterType="com.emr.entity.Archive_Detail_Vo">
SELECT z.assort_id,z.assort_name,z.assort_sort,z.print_flag,s.pageNum from(select AssortID,count(*) pageNum from
SELECT z.assort_id,z.assort_name,z.assort_sort,z.print_flag,s.pageNum
from(select AssortID,count(*) pageNum from
archive_detail
-- MasterID='a72163dd10e6443b90fb82384a1debf4'
where 1=1
<if test="patientId != null and patientId != ''">
and MasterID=#{patientId,jdbcType=VARCHAR}
@ -47,6 +56,9 @@
<if test="assortId != null and assortId != ''">
and AssortID=#{assortId,jdbcType=VARCHAR}
</if>
<if test="flag != null">
and flag = #{flag,jdbcType=NVARCHAR}
</if>
GROUP BY AssortID) s
RIGHT JOIN zd_assort z
on s.AssortID=z.assort_id
@ -55,10 +67,22 @@
</select>
<select id="detailByClo" resultMap="BaseResultMap2" parameterType="com.emr.entity.Archive_Detail_Vo">
select
t.MasterID,t.id,t.PDF_PATH,t.Source,t.UpLoadDateTime,t.SubAssort,t.Title,t.flag,z.assort_id,z.assort_name,z.assort_sort,z.print_flag
t.MasterID,t.id,t.PDF_PATH,t.Source,CONVERT(varchar(100),t.UpLoadDateTime, 120) UpLoadDateTime,t.SubAssort,t.Title,t.flag,t.page_number,
z.assort_id,z.assort_name,z.assort_sort,z.print_flag,s.create_time,s.cmt_doctor_date,s.cmt_nurse_date,s.ArchiveState
from zd_assort z
left join archive_detail t
on z.assort_id=t.AssortID
LEFT JOIN(
select top 1 f.id,m.create_time,f.cmt_doctor_date,f.cmt_nurse_date,f.ArchiveState from
emr_fault_detail m
left join archive_master f
on m.archive_detail_id=f.id
where 1=1 and m.back_flag= 3
<if test="patientId != null">
and f.id=#{patientId,jdbcType=VARCHAR}
</if>
) s
on s.id=t.MasterID
where 1=1
<if test="patientId != null">
and t.MasterID=#{patientId,jdbcType=VARCHAR}
@ -66,13 +90,35 @@
<if test="assortId != null and assortId != ''">
and t.AssortID=#{assortId,jdbcType=VARCHAR}
</if>
ORDER BY z.assort_sort
<if test="source != null and source != ''">
and t.Source=#{source,jdbcType=VARCHAR}
</if>
<if test="flag != null and flag != ''">
and t.flag = #{flag,jdbcType=NVARCHAR}
</if>
ORDER BY z.assort_sort,t.Title,t.page_number,t.UpLoadDateTime
</select>
<select id="selectByid" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from archive_detail
where id = #{id,jdbcType=NVARCHAR}
ORDER BY page_number
</select>
<select id="selectByIdStr" parameterType="com.emr.entity.Archive_Detail" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from archive_detail where 1=1
<if test="flag != null and flag != ''">
and flag = #{flag,jdbcType=NVARCHAR}
</if>
<if test="title != null and title!=''">
and id in
<foreach item="item" collection="title.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
ORDER BY page_number
</select>
<select id="selectByColm" parameterType="com.emr.entity.Archive_Detail" resultMap="BaseResultMap">
select
@ -106,7 +152,27 @@
<if test="sys != null">
and Sys = #{sys,jdbcType=NVARCHAR}
</if>
order by UpLoadDateTime
order by page_number
</select>
<select id="selectByCol2" parameterType="com.emr.entity.Archive_Detail" resultMap="BaseResultMap">
select d.*
from archive_detail d
LEFT JOIN zd_assort z
on d.assortId=z.assort_id
where 1=1
<if test="subassort != null">
and d.SubAssort = #{subassort,jdbcType=NVARCHAR}
</if>
<if test="flag != null">
and d.flag = #{flag,jdbcType=NVARCHAR}
</if>
<if test="masterid != null">
and d.MasterID = #{masterid,jdbcType=NVARCHAR}
</if>
<if test="assortid != null">
and d.AssortID = #{assortid,jdbcType=NVARCHAR}
</if>
ORDER BY d.page_number, d.subassort
</select>
<select id="selectByCol" parameterType="com.emr.entity.Archive_Detail" resultMap="BaseResultMap">
select d.*
@ -129,7 +195,7 @@
#{item}
</foreach>
</if>
ORDER BY z.assort_sort,d.PDF_PATH
ORDER BY z.assort_sort,d.page_number
</select>
<delete id="deleteByClo" parameterType="com.emr.entity.Archive_Detail">
delete from archive_detail
@ -140,8 +206,24 @@
<if test="assortid != null">
and AssortID = #{assortid,jdbcType=NVARCHAR}
</if>
<if test="pdfPath != null">
and PDF_PATH = #{pdfPath,jdbcType=NVARCHAR}
</if>
</delete>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
<delete id="delByClo" parameterType="com.emr.entity.Archive_Detail">
delete from archive_detail
where 1=1
<if test="masterid != null">
and MasterID = #{masterid,jdbcType=NVARCHAR}
</if>
<if test="assortid != null">
and AssortID = #{assortid,jdbcType=NVARCHAR}
</if>
<if test="pdfPath != null">
and PDF_PATH like #{pdfPath,jdbcType=NVARCHAR}
</if>
</delete>
<delete id="delById" parameterType="java.lang.String">
delete from archive_detail
where id = #{id,jdbcType=NVARCHAR}
</delete>
@ -149,11 +231,11 @@
insert into archive_detail (id, PDF_PATH, MasterID,
UpLoadDateTime, AssortID, Source,
SubAssort, Title, flag,
Sys)
Sys,page_number,del_assortID)
values ((select replace(newid(),'-','')), #{pdfPath,jdbcType=NVARCHAR}, #{masterid,jdbcType=NVARCHAR},
#{uploaddatetime,jdbcType=NVARCHAR}, #{assortid,jdbcType=NVARCHAR}, #{source,jdbcType=NVARCHAR},
#{subassort,jdbcType=NVARCHAR}, #{title,jdbcType=NVARCHAR}, #{flag,jdbcType=NVARCHAR},
#{sys,jdbcType=NVARCHAR})
#{sys,jdbcType=NVARCHAR},#{pageNumber,jdbcType=INTEGER}, #{delAssortID,jdbcType=NVARCHAR})
</insert>
<insert id="insertSel" parameterType="com.emr.entity.Archive_Detail">
insert into archive_detail
@ -188,6 +270,13 @@
<if test="sys != null">
Sys,
</if>
<if test="pageNumber != null">
page_number,
</if>
<if test="delAssortID != null">
del_assortID,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<!--<if test="id != null and id!=''">-->
@ -220,6 +309,12 @@
<if test="sys != null">
#{sys,jdbcType=NVARCHAR},
</if>
<if test="pageNumber != null">
#{pageNumber,jdbcType=INTEGER},
</if>
<if test="delAssortID != null">
#{delAssortID,jdbcType=NVARCHAR},
</if>
</trim>
</insert>
<update id="updateCloById" parameterType="com.emr.entity.Archive_Detail">
@ -246,12 +341,18 @@
<if test="title != null and title!=''">
Title = #{title,jdbcType=NVARCHAR},
</if>
<if test="flag != null and pdfPath!=''">
<if test="flag != null and flag!=''">
flag = #{flag,jdbcType=NVARCHAR},
</if>
<if test="sys != null and sys!=''">
Sys = #{sys,jdbcType=NVARCHAR},
</if>
<if test="pageNumber != null">
page_number=#{pageNumber,jdbcType=INTEGER},
</if>
<if test="delAssortID != null">
del_assortID=#{delAssortID,jdbcType=NVARCHAR},
</if>
</set>
where id = #{id,jdbcType=NVARCHAR}
</update>
@ -265,7 +366,9 @@
SubAssort = #{subassort,jdbcType=NVARCHAR},
Title = #{title,jdbcType=NVARCHAR},
flag = #{flag,jdbcType=NVARCHAR},
Sys = #{sys,jdbcType=NVARCHAR}
Sys = #{sys,jdbcType=NVARCHAR},
page_number=#{pageNumber,jdbcType=INTEGER},
del_assortID=#{delAssortID,jdbcType=NVARCHAR}
where id = #{id,jdbcType=NVARCHAR}
</update>
</mapper>

@ -22,65 +22,118 @@
<result column="ID_NO" jdbcType="NVARCHAR" property="idNo" />
<result column="DISCHARGE_DISPOSITION" jdbcType="NVARCHAR" property="dischargeDisposition" />
<result column="dept_code_lend" jdbcType="NVARCHAR" property="deptCodeLend" />
<result column="isscaned" jdbcType="NVARCHAR" property="isscaned" />
<result column="is_scanning" jdbcType="NVARCHAR" property="isScanning" />
<result column="bed_number" jdbcType="NVARCHAR" property="bedNumber" />
<result column="cmt_doctor" jdbcType="INTEGER" property="cmtDoctor"/>
<result column="cmt_nurse" jdbcType="INTEGER" property="cmtNurse"/>
<result column="doctor_name" jdbcType="NVARCHAR" property="doctorName"/>
<result column="nurse_name" jdbcType="NVARCHAR" property="nurseName"/>
<result column="cmt_doctor_date" jdbcType="NVARCHAR" property="cmtDoctorDate"/>
<result column="cmt_nurse_date" jdbcType="NVARCHAR" property="cmtNurseDate"/>
<result column="emr_doctor_cmt" jdbcType="NVARCHAR" property="emrDoctorCmt"/>
<result column="emr_nure_cmt" jdbcType="NVARCHAR" property="emrNureCmt"/>
<result column="first_instance" jdbcType="NVARCHAR" property="firstInstance"/>
<result column="death_flag" jdbcType="NVARCHAR" property="deathFlag"/>
<result column="transfer_dept" jdbcType="NVARCHAR" property="transferDept"/>
<result column="score" jdbcType="NVARCHAR" property="score"/>
</resultMap>
<!--<resultMap id="BaseResultMap2" type="com.emr.entity.Archive_MasterVo">-->
<!--<id column="id" jdbcType="NVARCHAR" property="id"/>-->
<!--<result column="patient_id" jdbcType="NVARCHAR" property="patientId"/>-->
<!--<result column="inp_no" jdbcType="NVARCHAR" property="inpNo"/>-->
<!--<result column="visit_id" jdbcType="NVARCHAR" property="visitId"/>-->
<!--<result column="name" jdbcType="NVARCHAR" property="name"/>-->
<!--<result column="sex" jdbcType="NVARCHAR" property="sex"/>-->
<!--<result column="dept_name" jdbcType="NVARCHAR" property="deptName"/>-->
<!--<result column="discharge_date_time" jdbcType="NVARCHAR" property="dischargeDateTime"/>-->
<!--<result column="ArchiveState" jdbcType="NVARCHAR" property="archivestate"/>-->
<!--<result column="admission_date_time" jdbcType="NVARCHAR" property="admissionDateTime"/>-->
<!--<result column="dept_admission_to" jdbcType="NVARCHAR" property="deptAdmissionTo"/>-->
<!--<result column="check_doctor" jdbcType="NVARCHAR" property="checkDoctor"/>-->
<!--<result column="check_datetime" jdbcType="NVARCHAR" property="checkDatetime"/>-->
<!--<result column="checked_doctor" jdbcType="NVARCHAR" property="checkedDoctor"/>-->
<!--<result column="checked_datetime" jdbcType="NVARCHAR" property="checkedDatetime"/>-->
<!--<result column="LockInfo" jdbcType="NVARCHAR" property="lockinfo"/>-->
<!--<result column="DOCTOR_IN_CHARGE" jdbcType="NVARCHAR" property="doctorInCharge"/>-->
<!--<result column="ID_NO" jdbcType="NVARCHAR" property="idNo"/>-->
<!--<result column="DISCHARGE_DISPOSITION" jdbcType="NVARCHAR" property="dischargeDisposition"/>-->
<!--<result column="dept_code_lend" jdbcType="NVARCHAR" property="deptCodeLend"/>-->
<!--<result column="startDateTo" jdbcType="NVARCHAR" property="startDateTo"/>-->
<!--<result column="endDateTo" jdbcType="NVARCHAR" property="endDateTo"/>-->
<!--</resultMap>-->
<resultMap id="BaseResultMap2" type="com.emr.entity.Archive_Master_Vo">
<id column="id" jdbcType="NVARCHAR" property="id" />
<result column="patient_id" jdbcType="NVARCHAR" property="patientId" />
<result column="inp_no" jdbcType="NVARCHAR" property="inpNo" />
<result column="visit_id" jdbcType="NVARCHAR" property="visitId" />
<result column="name" jdbcType="NVARCHAR" property="name" />
<result column="sex" jdbcType="NVARCHAR" property="sex" />
<result column="dept_name" jdbcType="NVARCHAR" property="deptName" />
<result column="discharge_date_time" jdbcType="NVARCHAR" property="dischargeDateTime" />
<result column="ArchiveState" jdbcType="NVARCHAR" property="archivestate" />
<result column="admission_date_time" jdbcType="NVARCHAR" property="admissionDateTime" />
<result column="dept_admission_to" jdbcType="NVARCHAR" property="deptAdmissionTo" />
<result column="check_doctor" jdbcType="NVARCHAR" property="checkDoctor" />
<result column="check_datetime" jdbcType="NVARCHAR" property="checkDatetime" />
<result column="checked_doctor" jdbcType="NVARCHAR" property="checkedDoctor" />
<result column="checked_datetime" jdbcType="NVARCHAR" property="checkedDatetime" />
<result column="LockInfo" jdbcType="NVARCHAR" property="lockinfo" />
<result column="DOCTOR_IN_CHARGE" jdbcType="NVARCHAR" property="doctorInCharge" />
<result column="ID_NO" jdbcType="NVARCHAR" property="idNo" />
<result column="DISCHARGE_DISPOSITION" jdbcType="NVARCHAR" property="dischargeDisposition" />
<result column="dept_code_lend" jdbcType="NVARCHAR" property="deptCodeLend" />
<result column="isscaned" jdbcType="NVARCHAR" property="isscaned" />
<result column="is_scanning" jdbcType="NVARCHAR" property="isScanning" />
<result column="bed_number" jdbcType="NVARCHAR" property="bedNumber" />
<result column="cmt_doctor" jdbcType="INTEGER" property="cmtDoctor"/>
<result column="cmt_nurse" jdbcType="INTEGER" property="cmtNurse"/>
<result column="doctor_name" jdbcType="NVARCHAR" property="doctorName"/>
<result column="nurse_name" jdbcType="NVARCHAR" property="nurseName"/>
<result column="cmt_doctor_date" jdbcType="NVARCHAR" property="cmtDoctorDate"/>
<result column="cmt_nurse_date" jdbcType="NVARCHAR" property="cmtNurseDate"/>
<result column="emr_doctor_cmt" jdbcType="NVARCHAR" property="emrDoctorCmt"/>
<result column="emr_nure_cmt" jdbcType="NVARCHAR" property="emrNureCmt"/>
<result column="first_instance" jdbcType="NVARCHAR" property="firstInstance"/>
<result column="death_flag" jdbcType="NVARCHAR" property="deathFlag"/>
<result column="transfer_dept" jdbcType="NVARCHAR" property="transferDept"/>
<result column="fid" jdbcType="NVARCHAR" property="fid"/>
<result column="handle_id" jdbcType="NVARCHAR" property="handleId"/>
<result column="handle_name" jdbcType="NVARCHAR" property="handleName"/>
<result column="handle_time" jdbcType="NVARCHAR" property="handleTime"/>
<result column="following_type" jdbcType="NVARCHAR" property="followingType"/>
<result column="following_content" jdbcType="NVARCHAR" property="followingContent"/>
<result column="overdue" jdbcType="NVARCHAR" property="overdue"/>
<result column="create_time" jdbcType="NVARCHAR" property="createTime"/>
<result column="score" jdbcType="NVARCHAR" property="score"/>
</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,
checked_datetime, LockInfo, DOCTOR_IN_CHARGE, ID_NO, DISCHARGE_DISPOSITION, dept_code_lend
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
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
<select id="selectById" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from archive_master
where id = #{id,jdbcType=NVARCHAR}
</select>
<select id="selectByCol" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
dept_name,m.discharge_date_time,m.ArchiveState,m.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
select distinct m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
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.is_scanning,bed_number
from archive_master m
LEFT JOIN emr_dictionary d
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN emr_dictionary f
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
where 1=1
<if test="deptAdmissionTo!= null and deptAdmissionTo!= ''">
and m.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
and (m.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
or m.transfer_dept in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
)
</if>
<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="bedNumber != null and bedNumber != ''">
and m.bed_number like '%'+#{bedNumber,jdbcType=NVARCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
@ -96,9 +149,12 @@
<if test="sex != null">
and m.sex = #{sex,jdbcType=NVARCHAR}
</if>
<if test="deptName != null and deptName != ''">
and m.dept_name = #{deptName,jdbcType=NVARCHAR}
</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="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
@ -141,26 +197,46 @@
<if test="deptCodeLend != null">
and m.dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
</if>
<if test="isscaned != null and isscaned != ''">
and m.isscaned = #{isscaned,jdbcType=NVARCHAR}
</if>
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.admission_date_time desc
</select>
<select id="selectByColumn" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
<!--select-->
<!--<include refid="Base_Column_List"/>-->
<!--from archive_master-->
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
dept_name,m.discharge_date_time,m.ArchiveState,m.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
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.is_scanning,
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.bed_number,ISNULL(s.bedNumber, 0) bedNumber
from archive_master m
LEFT JOIN emr_dictionary d
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN emr_dictionary f
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
where 1=1 and ArchiveState in('归档中','复审退回','初审')
LEFT JOIN(select archive_detail_id,count(*) bedNumber from emr_fault_detail where 1=1 and content!='' and content is not null and back_flag is not null GROUP BY archive_detail_id) s
on m.id=s.archive_detail_id
where 1=1 and ArchiveState in('归档中','提交','主任退回')
<if test="emrCmit!=null and emrCmit!=''">
<if test="emrCmit==1">
and m.emr_doctor_cmt='提交'
</if>
<if test="emrCmit==2">
and m.emr_nure_cmt='提交'
</if>
</if>
<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="bedNumber != null and bedNumber != ''">
and m.bed_number like '%'+#{bedNumber,jdbcType=NVARCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
@ -215,8 +291,14 @@
<if test="lockinfo != null">
and m.LockInfo = #{lockinfo,jdbcType=NVARCHAR}
</if>
<if test="doctorInCharge != null">
and m.DOCTOR_IN_CHARGE = #{doctorInCharge,jdbcType=NVARCHAR}
<!--<if test="doctorInCharge != null">-->
<!--and m.DOCTOR_IN_CHARGE = #{doctorInCharge,jdbcType=NVARCHAR}-->
<!--</if>-->
<if test="doctorInCharge!= null and doctorInCharge!= ''">
and m.DOCTOR_IN_CHARGE in
<foreach item="item" collection="doctorInCharge.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="dischargeDisposition != null">
and m.DISCHARGE_DISPOSITION = #{dischargeDisposition,jdbcType=NVARCHAR}
@ -224,24 +306,39 @@
<if test="deptCodeLend != null">
and m.dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
</if>
<if test="isscaned != null and isscaned != ''">
and m.isscaned = #{isscaned,jdbcType=NVARCHAR}
</if>
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
</select>
<select id="selectByLast" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
dept_name,m.discharge_date_time,m.ArchiveState,m.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
<select id="selectByLast" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select DISTINCT m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
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,bed_number,amf.following_type
from archive_master m
LEFT JOIN emr_dictionary d
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN emr_dictionary f
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
where 1=1 and ArchiveState in('初审')
left join Archive_Master_Following amf
on m.id=amf.master_id and amf.following_type=9
where 1=1 and ArchiveState in('初审')
<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="bedNumber != null and bedNumber != ''">
and m.bed_number like '%'+#{bedNumber,jdbcType=NVARCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
@ -318,25 +415,38 @@
<if test="deptCodeLend != null">
and m.dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
</if>
<if test="isscaned != null and isscaned != ''">
and m.isscaned = #{isscaned,jdbcType=NVARCHAR}
</if>
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
</select>
<select id="selectByUnfile" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
dept_name,m.discharge_date_time,m.ArchiveState,m.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
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.is_scanning,bed_number
from archive_master m
LEFT JOIN emr_dictionary d
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN emr_dictionary f
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
where 1=1
and m.ArchiveState in('归档中','初审','复审退回')
--and m.ArchiveState in('归档中','初审','复审退回','提交','主任退回' )
<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="bedNumber != null and bedNumber != ''">
and m.bed_number like '%'+#{bedNumber,jdbcType=NVARCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
@ -359,8 +469,14 @@
</foreach>
</if>
<if test="deptAdmissionTo != null and deptAdmissionTo!=''">
and m.dept_admission_to = #{deptAdmissionTo,jdbcType=NVARCHAR}
and m.dept_admission_to in
<foreach item="item" collection="deptAdmissionTo.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!--<if test="deptAdmissionTo != null and deptAdmissionTo!=''">-->
<!--and m.dept_admission_to = #{deptAdmissionTo,jdbcType=NVARCHAR}-->
<!--</if>-->
<if test="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
@ -413,9 +529,199 @@
<if test="deptCodeLend != null">
and m.dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
</if>
<if test="isscaned != null and isscaned != ''">
and m.isscaned = #{isscaned,jdbcType=NVARCHAR}
</if>
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
<if test="deathFlag != null and deathFlag != ''">
and m.death_flag = #{deathFlag,jdbcType=NVARCHAR}
</if>
ORDER BY m.discharge_date_time desc
</select>
<select id="selectByCmtCol" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
<!--select-->
<!--<include refid="Base_Column_List"/>-->
<!--from archive_master-->
select m.id,m.patient_id,m.inp_no,m.visit_id,m.name,m.sex,f.name
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.is_scanning,
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,bed_number
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
on m.dept_admission_to=d.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) f
on m.dept_name=f.code
where 1=1 and ArchiveState in('提交','主任退回','归档中','复审退回')
<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="bedNumber != null and bedNumber != ''">
and m.bed_number like '%'+#{bedNumber,jdbcType=NVARCHAR}+'%'
</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="archivestate != null and archivestate != ''">
and m.ArchiveState=#{archivestate,jdbcType=NVARCHAR}
</if>
<if test="idNo != null and idNo != ''">
and m.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
</if>
<if test="sex != null">
and m.sex = #{sex,jdbcType=NVARCHAR}
</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="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</if>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and m.discharge_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and
#{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDateTo != null and startDateTo != ''">
and m.discharge_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120)
</when>
<when test="endDateTo != null and endDateTo != ''">
and m.discharge_date_time &lt;= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="deptAdmissionTo != null and deptAdmissionTo!=''">
and m.dept_admission_to = #{deptAdmissionTo,jdbcType=NVARCHAR}
</if>
<if test="checkDoctor != null">
and m.check_doctor = #{checkDoctor,jdbcType=NVARCHAR}
</if>
<if test="checkedDoctor != null">
and checked_doctor = #{checkedDoctor,jdbcType=NVARCHAR}
</if>
<if test="checkDatetime != null">
and m.check_datetime = #{checkDatetime,jdbcType=NVARCHAR}
</if>
<if test="checkedDatetime != null">
and m.checked_datetime = #{checkedDatetime,jdbcType=NVARCHAR}
</if>
<if test="lockinfo != null">
and m.LockInfo = #{lockinfo,jdbcType=NVARCHAR}
</if>
<if test="doctorInCharge != null">
and m.DOCTOR_IN_CHARGE = #{doctorInCharge,jdbcType=NVARCHAR}
</if>
<if test="dischargeDisposition != null">
and m.DISCHARGE_DISPOSITION = #{dischargeDisposition,jdbcType=NVARCHAR}
</if>
<if test="deptCodeLend != null">
and m.dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
</if>
<if test="isscaned != null and isscaned != ''">
and m.isscaned = #{isscaned,jdbcType=NVARCHAR}
</if>
<if test="isScanning != null and isScanning != ''">
and m.is_scanning = #{isScanning,jdbcType=NVARCHAR}
</if>
ORDER BY m.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
where 1=1 --m.ArchiveState in('归档中','初审','提交','主任退回')
<if test="archivestate!= null and archivestate!= ''">
and m.ArchiveState in
<foreach item="item" collection="archivestate.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</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="doctorInCharge!= null and doctorInCharge!= ''">
and m.DOCTOR_IN_CHARGE in
<foreach item="item" collection="doctorInCharge.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
<select id="bbSel" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
SELECT DISTINCT U.dept_name,E.name,isnull( D.checkDoctor,0) checkDoctor,isnull( A.lockinfo,0) lockinfo,isnull(B.inpNo,0) inpNo,isnull(C.visitId,0) visitId FROM (SELECT dept_name,discharge_date_time from archive_master) U
LEFT JOIN (
select s.dept_name,count(*) as lockinfo from archive_master as s where 1=1 and s.ArchiveState not in('在院','归档中','复审退回','主任退回') GROUP BY s.dept_name
) A ON U.dept_name=A.dept_name
LEFT JOIN (
select dept_name,count(*) as inpNo from archive_master where 1=1 and ArchiveState in('在院','归档中','复审退回','主任退回') GROUP BY dept_name
) B ON U.dept_name=B.dept_name
LEFT JOIN (
select dept_name,count(*) as visitId from archive_master where 1=1 and ArchiveState in('在院','归档中','复审退回','主任退回') and CEILING(DATEDIFF(hour,discharge_date_time,GETDATE())/24.00)>3 GROUP BY dept_name
) C ON U.dept_name=C.dept_name
LEFT JOIN (
select s.dept_name,count(*) as checkDoctor from archive_master as s where 1=1 and s.ArchiveState='在院' GROUP BY s.dept_name
) D ON U.dept_name=D.dept_name
LEFT JOIN (
select * from emr_dictionary
) E ON U.dept_name=E.code
where 1=1
<if test="deptName!= null and deptName!= ''">
and U.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) between #{startDateTo,jdbcType=NCHAR} and #{endDateTo,jdbcType=NCHAR}
</when>
<when test="startDateTo != null and startDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) >= #{startDateTo,jdbcType=NCHAR}
</when>
<when test="endDateTo != null and endDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) &lt;= #{endDateTo,jdbcType=NCHAR}
</when>
</choose>
</select>
<select id="bbSel2" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap">
select id,inp_no,visit_id,U.name,dept_name,E.name doctor_name,DOCTOR_IN_CHARGE,ArchiveState,CONVERT(varchar(100),admission_date_time, 120) admission_date_time,CONVERT(varchar(100),U.discharge_date_time, 120) discharge_date_time,GETDATE() nowt,CEILING(DATEDIFF(hour,U.discharge_date_time,GETDATE())/24.00)-3 nurse_name,bed_number
from archive_master U
LEFT JOIN (
select code,name from emr_dictionary
) E
ON U.dept_name=E.code
where 1=1 and U.ArchiveState in('归档中','提交','主任退回','复审退回')
and CEILING(DATEDIFF(hour,U.discharge_date_time,GETDATE())/24.00)>3
<if test="deptName!= null and deptName!= ''">
and U.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) between #{startDateTo,jdbcType=NCHAR} and #{endDateTo,jdbcType=NCHAR}
</when>
<when test="startDateTo != null and startDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) >= #{startDateTo,jdbcType=NCHAR}
</when>
<when test="endDateTo != null and endDateTo != ''">
and CONVERT(varchar(100),U.discharge_date_time, 23) &lt;= #{endDateTo,jdbcType=NCHAR}
</when>
</choose>
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from archive_master
where id = #{id,jdbcType=NVARCHAR}
@ -427,14 +733,14 @@
admission_date_time, dept_admission_to, check_doctor,
check_datetime, checked_doctor, checked_datetime,
LockInfo, DOCTOR_IN_CHARGE, ID_NO,
DISCHARGE_DISPOSITION, dept_code_lend)
DISCHARGE_DISPOSITION, dept_code_lend,isscaned,first_instance)
values (#{id,jdbcType=NVARCHAR}, #{patientId,jdbcType=NVARCHAR}, #{inpNo,jdbcType=NVARCHAR},
#{visitId,jdbcType=NVARCHAR}, #{name,jdbcType=NVARCHAR}, #{sex,jdbcType=NVARCHAR},
#{deptName,jdbcType=NVARCHAR}, #{dischargeDateTime,jdbcType=NVARCHAR}, #{archivestate,jdbcType=NVARCHAR},
#{admissionDateTime,jdbcType=NVARCHAR}, #{deptAdmissionTo,jdbcType=NVARCHAR}, #{checkDoctor,jdbcType=NVARCHAR},
#{checkDatetime,jdbcType=NVARCHAR}, #{checkedDoctor,jdbcType=NVARCHAR}, #{checkedDatetime,jdbcType=NVARCHAR},
#{lockinfo,jdbcType=NVARCHAR}, #{doctorInCharge,jdbcType=NVARCHAR}, #{idNo,jdbcType=NVARCHAR},
#{dischargeDisposition,jdbcType=NVARCHAR}, #{deptCodeLend,jdbcType=NVARCHAR})
#{dischargeDisposition,jdbcType=NVARCHAR}, #{deptCodeLend,jdbcType=NVARCHAR}, #{isscaned,jdbcType=NVARCHAR}, #{firstInstance,jdbcType=NVARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.emr.entity.Archive_Master">
insert into archive_master
@ -499,6 +805,12 @@
<if test="deptCodeLend != null">
dept_code_lend,
</if>
<if test="isscaned != null and isscaned != ''">
isscaned,
</if>
<if test="firstInstance != null">
first_instance,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -561,6 +873,12 @@
<if test="deptCodeLend != null">
#{deptCodeLend,jdbcType=NVARCHAR},
</if>
<if test="isscaned != null and isscaned != ''">
#{isscaned,jdbcType=NVARCHAR},
</if>
<if test="firstInstance != null">
#{firstInstance,jdbcType=NVARCHAR},
</if>
</trim>
</insert>
<update id="updateByClo" parameterType="com.emr.entity.Archive_Master">
@ -623,6 +941,42 @@
<if test="deptCodeLend != null">
dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR},
</if>
<if test="isscaned != null and isscaned != ''">
isscaned = #{isscaned,jdbcType=NVARCHAR},
</if>
<if test="isScanning != null and isScanning != ''">
is_scanning = #{isScanning,jdbcType=NVARCHAR},
</if>
<if test="cmtDoctor >-1">
cmt_doctor = #{cmtDoctor,jdbcType=INTEGER},
</if>
<if test="cmtNurse >-1">
cmt_nurse = #{cmtNurse,jdbcType=INTEGER},
</if>
<if test="doctorName != null " >
doctor_name = #{doctorName,jdbcType=NVARCHAR},
</if>
<if test="nurseName != null ">
nurse_name = #{nurseName,jdbcType=NVARCHAR},
</if>
<if test="cmtDoctorDate != null and cmtDoctorDate != ''">
cmt_doctor_date = #{cmtDoctorDate,jdbcType=NVARCHAR},
</if>
<if test="cmtDoctorDate ==''">
cmt_doctor_date=null,
</if>
<if test="cmtNurseDate != null and cmtNurseDate != ''">
cmt_nurse_date = #{cmtNurseDate,jdbcType=NVARCHAR},
</if>
<if test="cmtNurseDate ==''">
cmt_nurse_date=null,
</if>
<if test="firstInstance != null and firstInstance != ''">
first_instance=#{firstInstance,jdbcType=NVARCHAR},
</if>
<if test="score != null and score != ''">
score=#{score,jdbcType=NVARCHAR},
</if>
</set>
where id = #{id,jdbcType=NVARCHAR}
</update>
@ -646,7 +1000,229 @@
DOCTOR_IN_CHARGE = #{doctorInCharge,jdbcType=NVARCHAR},
ID_NO = #{idNo,jdbcType=NVARCHAR},
DISCHARGE_DISPOSITION = #{dischargeDisposition,jdbcType=NVARCHAR},
dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR}
dept_code_lend = #{deptCodeLend,jdbcType=NVARCHAR},
isscaned = #{isscaned,jdbcType=NVARCHAR},
is_scanning = #{isScanning,jdbcType=NVARCHAR},
first_instance=#{firstInstance,jdbcType=NVARCHAR}
bed_number=#{bedNumber,jdbcType=NVARCHAR}
where id = #{id,jdbcType=NVARCHAR}
</update>
<select id="selectHandleDetail" 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
,g.name 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.check_datetime
,m.checked_doctor
,m.checked_datetime
,m.LockInfo
,m.DOCTOR_IN_CHARGE
,m.ID_NO
,m.DISCHARGE_DISPOSITION
,m.dept_code_lend
,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.transfer_dept
,m.IsScaned
,m.bed_number
,m.is_scanning
,f.id as fid
,f.following_type
,f.following_content
,CONVERT(varchar(10),f.handle_time, 120)handle_time
,f.handle_id
,f.handle_name
,f.remark
FROM archive_master m
LEFT JOIN Archive_Master_Following f
on m.id=f.master_id
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) d
on m.dept_admission_to=d.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) g
on m.dept_name=g.code
where 1=1 and f.following_type in(8,9)
<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="handleTime != null">
and f.handle_time = #{handleTime,jdbcType=NVARCHAR}
</if>
<choose>
<when test="startHandleTime != null and startHandleTime != '' and endHandleTime != null and endHandleTime != ''">
and f.handle_time between CONVERT(VARCHAR(10),#{startHandleTime,jdbcType=NCHAR},120) and
#{endHandleTime,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startHandleTime != null and startHandleTime != ''">
and f.handle_time >= CONVERT(VARCHAR(10),#{startHandleTime,jdbcType=NCHAR},120)
</when>
<when test="endHandleTime != null and endHandleTime != ''">
and f.handle_time &lt;= #{endHandleTime,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="handleId != null and handleId != ''">
and f.handle_id in
<foreach item="item" collection="handleId.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="followingType != null and followingType != ''">
and f.following_type = #{followingType,jdbcType=NVARCHAR}
</if>
ORDER BY f.handle_time desc
</select>
<select id="selectOverdue" parameterType="com.emr.entity.Archive_Master_Vo" resultMap="BaseResultMap2">
select DISTINCT m.id,m.patient_id, m.inp_no,m.visit_id,m.name,g.name dept_name,
m.discharge_date_time,t.name dept_admission_to,
CONVERT(varchar(10),m.admission_date_time, 120)admission_date_time,
d.create_time,m.first_instance,m.DOCTOR_IN_CHARGE,m.death_flag,[dbo].[getWorkday](m.discharge_date_time,d.create_time) overdue
from Archive_Master m join emr_dictionary e on m.dept_name = e.code
join emr_fault_detail d on m.ID=d.archive_detail_id
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) t
on m.dept_admission_to=t.code
LEFT JOIN (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where
typeCode='dept_code' )) g
on m.dept_name=g.code
where 1=1
--判断初审以及状态为null
and d.archive_state in ('初审', null)
--或者初审时间,时间最小
and d.create_time in (select create_time from emr_fault_detail A where create_time=(select min(create_time) from emr_fault_detail B where A.[archive_detail_id]=B.[archive_detail_id]))
<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>
<if test="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</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
#{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDate != null and startDate != ''">
and m.discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endDate != null and endDate != ''">
and m.discharge_date_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="createTime != null">
and d.create_time = #{createTime,jdbcType=NVARCHAR}
</if>
<choose>
<when test="createTimeStart != null and createTimeStart != '' and createTimeEnd != null and createTimeEnd != ''">
and d.create_time between CONVERT(VARCHAR(10),#{createTimeStart,jdbcType=NCHAR},120) and
#{createTimeEnd,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="createTimeStart != null and createTimeStart != ''">
and d.create_time >= CONVERT(VARCHAR(10),#{createTimeStart,jdbcType=NCHAR},120)
</when>
<when test="createTimeEnd != null and createTimeEnd != ''">
and d.create_time &lt;= #{createTimeEnd,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="deathFlag != null and deathFlag != ''">
and m.death_flag = #{deathFlag,jdbcType=NVARCHAR}
<if test="deathFlag == '0'.toString()">
and [dbo].[getWorkday](m.discharge_date_time,d.create_time)>3
</if>
<if test="deathFlag == '1'.toString()">
and [dbo].[getWorkday](m.discharge_date_time,d.create_time)>7
</if>
</if>
<if test="overdueDays != null and overdueDays != ''">
and [dbo].[getWorkday](m.discharge_date_time,d.create_time)>=#{overdueDays,jdbcType=NCHAR}
</if>
</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')
<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="archivestate != null and archivestate != ''">
and m.ArchiveState=#{archivestate,jdbcType=NVARCHAR}
</if>
<if test="handleName != null and handleName != ''">
and f.handle_name=#{handleName,jdbcType=NVARCHAR}
</if>
<if test="followingContent != null and followingContent != ''">
and f.following_content=#{followingContent,jdbcType=NVARCHAR}
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and f.handle_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and
#{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDate != null and startDate != ''">
and f.handle_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endDate != null and endDate != ''">
and f.handle_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
ORDER BY f.handle_time desc
</select>
</mapper>

@ -65,9 +65,9 @@
<!--根据字段查询字典dept_code-->
<select id="dicByClo" resultMap="BaseResultMap" parameterType="com.emr.entity.Emr_Dictionary">
select <include refid="Base_Column_List"/>
from emr_dictionary
where 1=1
<if test="id != null">
from emr_dictionary
where (parent_id in (select id from emr_dictionary where typeCode='dept_code' ) or typeCode='dept_code')
<if test="id != null">
and id = #{id,jdbcType=INTEGER}
</if>
<if test="typecode != null and typecode!=''">
@ -100,6 +100,9 @@
<if test="effective != null">
and effective = #{effective,jdbcType=INTEGER}
</if>
<if test="parentId != null and parentId!=''">
and parent_id =#{parentId,jdbcType=INTEGER}
</if>
ORDER BY parent_id
</select>

@ -7,7 +7,8 @@
<result column="assort_id" jdbcType="NVARCHAR" property="assortId" />
<result column="parent_id" jdbcType="INTEGER" property="parentId" />
<result column="content" jdbcType="NVARCHAR" property="content" />
<result column="score" jdbcType="DECIMAL" property="score" />
<result column="price" jdbcType="DECIMAL" property="price" />
<result column="score" jdbcType="DECIMAL" property="score"/>
<result column="back_content" jdbcType="NVARCHAR" property="backContent" />
<result column="first_trial" jdbcType="NVARCHAR" property="firstTrial" />
<result column="state" jdbcType="NVARCHAR" property="state"/>
@ -16,6 +17,12 @@
<result column="create_time" jdbcType="NCHAR" property="createTime" />
<result column="updater" jdbcType="NVARCHAR" property="updater" />
<result column="update_time" jdbcType="NCHAR" property="updateTime" />
<result column="back_flag" jdbcType="NVARCHAR" property="backFlag"/>
<result column="deal_flag" jdbcType="NVARCHAR" property="dealFlag"/>
<result column="deal_person" jdbcType="NVARCHAR" property="dealPerson"/>
<result column="deal_time" jdbcType="NVARCHAR" property="dealTime"/>
<result column="archive_state" jdbcType="VARCHAR" property="archiveState"/>
<result column="minus_point" jdbcType="VARCHAR" property="minusPoint"/>
</resultMap>
<resultMap id="BaseResultMap2" type="com.emr.entity.Emr_Fault_Vo">
<id column="id" jdbcType="INTEGER" property="id"/>
@ -23,6 +30,7 @@
<result column="assort_id" jdbcType="NVARCHAR" property="assortId"/>
<result column="parent_id" jdbcType="INTEGER" property="parentId"/>
<result column="content" jdbcType="NVARCHAR" property="content"/>
<result column="price" jdbcType="DECIMAL" property="price"/>
<result column="score" jdbcType="DECIMAL" property="score"/>
<result column="back_content" jdbcType="NVARCHAR" property="backContent"/>
<result column="first_trial" jdbcType="NVARCHAR" property="firstTrial"/>
@ -47,163 +55,202 @@
<result column="create_time" jdbcType="NCHAR" property="createTime"/>
<result column="updater" jdbcType="NVARCHAR" property="updater"/>
<result column="update_time" jdbcType="NCHAR" property="updateTime"/>
<result column="back_flag" jdbcType="NVARCHAR" property="backFlag"/>
<result column="assort_name" jdbcType="NVARCHAR" property="assortName"/>
<result column="cmt_doctor" jdbcType="INTEGER" property="cmtDoctor"/>
<result column="cmt_nurse" jdbcType="INTEGER" property="cmtNurse"/>
<result column="deal_flag" jdbcType="NVARCHAR" property="dealFlag"/>
<result column="deal_person" jdbcType="NVARCHAR" property="dealPerson"/>
<result column="deal_time" jdbcType="NVARCHAR" property="dealTime"/>
<result column="archive_state" jdbcType="NVARCHAR" property="archiveState"/>
<result column="type_name" jdbcType="NVARCHAR" property="typeName"/>
<result column="DOCTOR_IN_CHARGE" jdbcType="NVARCHAR" property="doctorInCharge"/>
<result column="minus_point" jdbcType="VARCHAR" property="minusPoint"/>
</resultMap>
<sql id="Base_Column_List">
id, archive_detail_id, assort_id, parent_id, content, score, back_content, first_trial,state,recall_reason
creater, create_time, updater, update_time
id, archive_detail_id, assort_id, parent_id, content,price, score, back_content, first_trial,state,recall_reason
creater, create_time, updater, update_time,back_flag,deal_flag,deal_person,deal_time,archive_state
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from emr_fault_detail
where id = #{id,jdbcType=INTEGER}
where 1=1 and id = #{id,jdbcType=INTEGER}
</select>
<select id="selectByDept" parameterType="com.emr.entity.Emr_Fault_Detail" resultMap="BaseResultMap">
select ISNULL(100-sum(minus_point),0) price from emr_fault_detail
where 1=1 and deal_flag='0'
<if test="archiveDetailId != null">
and archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
<if test="backFlag==1">
and back_flag in(1,2,5,6)
</if>
<if test="backFlag==2">
and back_flag in(5,6)
</if>
</select>
<select id="selectByColumn" parameterType="com.emr.entity.Emr_Fault_Detail" resultMap="BaseResultMap2">
select
d.*,m.ArchiveState,m.cmt_nurse,m.cmt_doctor,t.type_name assort_name
from emr_fault_detail d
LEFT JOIN emr_fault_type t
on d.assort_id=convert(varchar(50),t.id)
left JOIN archive_master m
on m.id=d.archive_detail_id
where 1=1
<if test="backFlag==1">
and d.back_flag in (1,2,5,6)
</if>
<if test="backFlag==2">
and d.back_flag in(5,6)
</if>
<if test="id != null">
and d.id = #{id,jdbcType=INTEGER}
</if>
<if test="archiveDetailId != null">
and d.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
<if test="assortId != null">
and d.assort_id = #{assortId,jdbcType=NVARCHAR}
</if>
<if test="content != null">
and d.content = #{content,jdbcType=NVARCHAR}
</if>
<if test="price != null">
and d.price = #{price,jdbcType=DECIMAL}
</if>
<if test="creater != null">
and d.creater = #{creater,jdbcType=NVARCHAR}
</if>
<if test="createTime != null">
and d.create_time = #{createTime,jdbcType=NCHAR}
</if>
<if test="updater != null">
and d.updater = #{updater,jdbcType=NVARCHAR}
</if>
<if test="updateTime != null">
and d.update_time = #{updateTime,jdbcType=NCHAR}
</if>
<!--<if test="backFlag != null and backFlag!=''">-->
<!--and d.back_flag= #{backFlag,jdbcType=NCHAR}-->
<!--</if>order by d.update_time,d.create_time desc-->
ORDER BY case WHEN( d.update_time is not null) THEN d.update_time ELSE d.create_time END desc
</select>
<select id="selectByArchiveDetailId" parameterType="com.emr.entity.Emr_Fault_Detail" resultMap="BaseResultMap">
SELECT t.id,t.archive_detail_id,t.assort_id,t.content,t.score,t.back_content,t.first_trial,t.state,t.recall_reason,t.parent_id
FROM (
SELECT ROW_NUMBER() OVER(
PARTITION BY CONVERT(CHAR(10), archive_detail_id, 120) ORDER BY archive_detail_id DESC
) AS rid,
*
FROM emr_fault_detail t
) AS t
select top 1 m.* from emr_fault_detail m where 1=1
<if test="archiveDetailId != null">
and m.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
<if test="backFlag != null and backFlag!=''">
and m.back_flag= #{backFlag,jdbcType=NCHAR}
</if>
order by create_time desc
</select>
WHERE t.rid = 1
<if test="archiveDetailId != null and archiveDetailId!=''">
and t.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
<select id="selectByArchiveId" parameterType="com.emr.entity.Emr_Fault_Detail" resultMap="BaseResultMap">
select DISTINCT m.back_flag from emr_fault_detail m
where 1=1 and m.deal_flag='0' and m.back_flag in (1,2,5,6)
<if test="archiveDetailId != null">
and m.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
ORDER BY t.id
</select>
<select id="selectByCol" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
SELECT
t.id,t.archive_detail_id,t.state,t.assort_id,t.recall_reason,t.content,t.score,t.back_content,t.first_trial,t.creater,t.create_time,t.inp_no,t.visit_id,t.name,t.dept_name,t.discharge_date_time,t.ArchiveState,t.sex,t.ID_NO,t.dept_admission_to,t.admission_date_time,t.DISCHARGE_DISPOSITION
FROM (
SELECT ROW_NUMBER() OVER(
PARTITION BY CONVERT(CHAR(10), t.archive_detail_id, 120) ORDER BY t.archive_detail_id DESC
) AS rid,
*
FROM (
SELECT
f.id,m.id as
archive_detail_id,f.state,f.assort_id,f.recall_reason,f.content,f.score,f.back_content,f.first_trial,f.creater,f.create_time,m.inp_no,m.visit_id,m.name,m.dept_name,m.discharge_date_time,m.ArchiveState,m.sex,m.ID_NO,m.dept_admission_to,m.admission_date_time,m.DISCHARGE_DISPOSITION
FROM emr_fault_detail f
right JOIN archive_master m
select m.id as archive_detail_id,ISNULL(f.state, '未召回') state,f.recall_reason,m.inp_no,m.visit_id,m.name,m.dept_name,m.discharge_date_time,m.ArchiveState,m.sex,m.ID_NO,m.dept_admission_to,m.admission_date_time,m.DISCHARGE_DISPOSITION
from archive_master m
left join(select * from emr_fault_detail t where id = (select top 1 id from emr_fault_detail where archive_detail_id = t.archive_detail_id order by create_time desc )
and state in('已召回','未召回')) f
ON f.archive_detail_id=m.id
) t
) AS t
WHERE t.rid = 1 and ArchiveState in('已归档','已认证')
where m.ArchiveState in('已归档','已认证','初审')
<if test="archiveDetailId != null">
and t.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
and f.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
<if test="assortId != null">
and t.assort_id = #{assortId,jdbcType=NVARCHAR}
and f.assort_id = #{assortId,jdbcType=NVARCHAR}
</if>
<if test="parentId != null">
and t.parent_id = #{parentId,jdbcType=INTEGER}
and m.parent_id = #{parentId,jdbcType=INTEGER}
</if>
<if test="content != null">
and t.content = #{content,jdbcType=NVARCHAR}
and f.content = #{content,jdbcType=NVARCHAR}
</if>
<if test="score != null">
and t.score = #{score,jdbcType=DECIMAL}
and f.score = #{score,jdbcType=DECIMAL}
</if>
<if test="backContent != null">
and t.back_content = #{backContent,jdbcType=NVARCHAR}
and f.back_content = #{backContent,jdbcType=NVARCHAR}
</if>
<if test="firstTrial != null">
and t.first_trial = #{firstTrial,jdbcType=NVARCHAR}
and f.first_trial = #{firstTrial,jdbcType=NVARCHAR}
</if>
<if test="creater != null">
and t.creater = #{creater,jdbcType=NVARCHAR}
and f.creater = #{creater,jdbcType=NVARCHAR}
</if>
<if test="createTime != null">
and t.create_time = #{createTime,jdbcType=NCHAR}
and f.create_time = #{createTime,jdbcType=NCHAR}
</if>
<if test="updater != null">
and t.updater = #{updater,jdbcType=NVARCHAR}
and f.updater = #{updater,jdbcType=NVARCHAR}
</if>
<if test="updateTime != null">
and t.update_time = #{updateTime,jdbcType=NCHAR}
and f.update_time = #{updateTime,jdbcType=NCHAR}
</if>
<if test="inpNo != null and inpNo != ''">
and t.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and t.visit_id=#{visitId,jdbcType=NCHAR}
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="name != null and name != ''">
and t.name like '%'+#{name,jdbcType=NCHAR}+'%'
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="archivestate != null and archivestate != ''">
and t.ArchiveState=#{archivestate,jdbcType=NCHAR}
and m.ArchiveState=#{archivestate,jdbcType=NCHAR}
</if>
<if test="state != null and state != ''">
and t.state=#{state,jdbcType=NCHAR}
and f.state=#{state,jdbcType=NCHAR}
</if>
<if test="idNo != null and idNo != ''">
and t.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
and m.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
</if>
<choose>
<when test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and t.discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and
#{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDate != null and startDate != ''">
and t.discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endDate != null and endDate != ''">
and t.discharge_date_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and t.admission_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and
#{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDateTo != null and startDateTo != ''">
and t.admission_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120)
</when>
<when test="endDateTo != null and endDateTo != ''">
and t.admission_date_time &lt;= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
<if test="deptName!= null and deptName!= ''">
and t.dept_name in
and m.dept_name in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<!-- <if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
and m.discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and #{endDate,jdbcType=NCHAR}
</if>
<if test="startDate != null and startDate != ''">
and m.discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</if>
<if test="endDate != null and endDate != ''">
and m.discharge_date_time &lt;= CONVERT(varchar(100),#{endDate,jdbcType=NCHAR}, 120)
</if>-->
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
<delete id="deleteById" parameterType="java.lang.Integer">
delete from emr_fault_detail
where id = #{id,jdbcType=INTEGER}
</delete>
<delete id="delbyCol" parameterType="com.emr.entity.Emr_Fault_Detail">
delete from emr_fault_detail
where 1=1 and back_flag is null and state is not null
<if test="archiveDetailId != null">
and archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
</delete>
<delete id="delByArchiveId" parameterType="com.emr.entity.Emr_Fault_Detail">
delete from emr_fault_detail
where 1=1 and back_flag is null
<if test="archiveDetailId != null">
and archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
</delete>
<insert id="insert" parameterType="com.emr.entity.Emr_Fault_Detail">
insert into emr_fault_detail (id, archive_detail_id, assort_id,
parent_id, content, score,
parent_id, content,price, score,
back_content, first_trial,state,recall_reason,creater,
create_time, updater, update_time
)
values (#{id,jdbcType=INTEGER}, #{archiveDetailId,jdbcType=NVARCHAR}, #{assortId,jdbcType=NVARCHAR},
#{parentId,jdbcType=INTEGER}, #{content,jdbcType=NVARCHAR}, #{score,jdbcType=DECIMAL},
#{parentId,jdbcType=INTEGER}, #{content,jdbcType=NVARCHAR}, #{price,jdbcType=DECIMAL}, #{score,jdbcType=DECIMAL},
#{backContent,jdbcType=NVARCHAR}, #{firstTrial,jdbcType=NVARCHAR}, #{state,jdbcType=NVARCHAR}, #{recallReason,jdbcType=VARCHAR}, #{creater,jdbcType=NVARCHAR},
#{createTime,jdbcType=NCHAR}, #{updater,jdbcType=NVARCHAR}, #{updateTime,jdbcType=NCHAR}
)
@ -226,6 +273,9 @@
<if test="content != null">
content,
</if>
<if test="price != null">
price,
</if>
<if test="score != null">
score,
</if>
@ -253,6 +303,18 @@
<if test="updateTime != null">
update_time,
</if>
<if test="backFlag != null and backFlag!=''">
back_flag,
</if>
<if test="dealFlag != null and dealFlag!=''">
deal_flag,
</if>
<if test="archiveState != null and archiveState!=''">
archive_state,
</if>
<if test="minusPoint != null and minusPoint!=''">
minus_point,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
@ -270,6 +332,9 @@
<if test="content != null">
#{content,jdbcType=NVARCHAR},
</if>
<if test="price != null">
#{price,jdbcType=DECIMAL},
</if>
<if test="score != null">
#{score,jdbcType=DECIMAL},
</if>
@ -297,6 +362,18 @@
<if test="updateTime != null">
#{updateTime,jdbcType=NCHAR},
</if>
<if test="backFlag != null and backFlag!=''">
#{backFlag,jdbcType=NVARCHAR},
</if>
<if test="dealFlag != null and dealFlag!=''">
#{dealFlag,jdbcType=NVARCHAR},
</if>
<if test="archiveState != null and archiveState!=''">
#{archiveState,jdbcType=NVARCHAR},
</if>
<if test="minusPoint != null and minusPoint!=''">
#{minusPoint,jdbcType=NVARCHAR},
</if>
</trim>
</insert>
<update id="updateCloByPrimaryKey" parameterType="com.emr.entity.Emr_Fault_Detail">
@ -314,6 +391,9 @@
<if test="content != null">
content = #{content,jdbcType=NVARCHAR},
</if>
<if test="price != null">
price = #{price,jdbcType=DECIMAL},
</if>
<if test="score != null">
score = #{score,jdbcType=DECIMAL},
</if>
@ -341,6 +421,21 @@
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=NCHAR},
</if>
<if test="backFlag != null and backFlag!=''">
back_flag= #{backFlag,jdbcType=NCHAR},
</if>
<if test="dealFlag != null and dealFlag!=''">
deal_flag= #{dealFlag,jdbcType=NVARCHAR},
</if>
<if test="dealPerson != null ">
deal_person= #{dealPerson,jdbcType=NVARCHAR},
</if>
<if test="dealTime != null">
deal_time= #{dealTime,jdbcType=NVARCHAR},
</if>
<if test="archiveState != null and archiveState!=''">
archive_state=#{archiveState,jdbcType=NVARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
@ -350,6 +445,7 @@
assort_id = #{assortId,jdbcType=NVARCHAR},
parent_id = #{parentId,jdbcType=INTEGER},
content = #{content,jdbcType=NVARCHAR},
price = #{price,jdbcType=DECIMAL},
score = #{score,jdbcType=DECIMAL},
back_content = #{backContent,jdbcType=NVARCHAR},
first_trial = #{firstTrial,jdbcType=NVARCHAR},
@ -358,7 +454,118 @@
creater = #{creater,jdbcType=NVARCHAR},
create_time = #{createTime,jdbcType=NCHAR},
updater = #{updater,jdbcType=NVARCHAR},
update_time = #{updateTime,jdbcType=NCHAR}
update_time = #{updateTime,jdbcType=NCHAR},
archive_state=#{archiveState,jdbcType=NVARCHAR}
where id = #{id,jdbcType=INTEGER}
</update>
<!--封存查询-->
<select id="selectStorageByCol" parameterType="com.emr.entity.Emr_Fault_Vo" resultMap="BaseResultMap2">
select m.id as archive_detail_id,ISNULL(f.state, '未召回') state,f.recall_reason,m.inp_no,m.visit_id,m.name,m.dept_name,m.discharge_date_time,m.ArchiveState,m.sex,m.ID_NO,m.dept_admission_to,m.admission_date_time,m.DISCHARGE_DISPOSITION
from archive_master m
left join(select * from emr_fault_detail t where id = (select top 1 id from emr_fault_detail where archive_detail_id = t.archive_detail_id order by create_time desc )
and state in('已召回','未召回')) f
ON f.archive_detail_id=m.id
where m.ArchiveState in('已归档','已封存')
<if test="archiveDetailId != null">
and f.archive_detail_id = #{archiveDetailId,jdbcType=NVARCHAR}
</if>
<if test="assortId != null">
and f.assort_id = #{assortId,jdbcType=NVARCHAR}
</if>
<if test="parentId != null">
and m.parent_id = #{parentId,jdbcType=INTEGER}
</if>
<if test="content != null">
and f.content = #{content,jdbcType=NVARCHAR}
</if>
<if test="score != null">
and f.score = #{score,jdbcType=DECIMAL}
</if>
<if test="backContent != null">
and f.back_content = #{backContent,jdbcType=NVARCHAR}
</if>
<if test="firstTrial != null">
and f.first_trial = #{firstTrial,jdbcType=NVARCHAR}
</if>
<if test="creater != null">
and f.creater = #{creater,jdbcType=NVARCHAR}
</if>
<if test="createTime != null">
and f.create_time = #{createTime,jdbcType=NCHAR}
</if>
<if test="updater != null">
and f.updater = #{updater,jdbcType=NVARCHAR}
</if>
<if test="updateTime != null">
and f.update_time = #{updateTime,jdbcType=NCHAR}
</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="archivestate != null and archivestate != ''">
and m.ArchiveState=#{archivestate,jdbcType=NCHAR}
</if>
<if test="state != null and state != ''">
and f.state=#{state,jdbcType=NCHAR}
</if>
<if test="idNo != null and idNo != ''">
and m.ID_NO like '%'+#{idNo,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>
</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
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
inner join (select code,name from emr_dictionary where parent_id=(select id from emr_dictionary where typeCode='dept_code' )) g
on m.dept_name=g.code
where 1=1 and e.back_flag in(5,6)
<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="archivestate != null and archivestate != ''">
and m.ArchiveState=#{archivestate,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="dischargeDateTime != null">
and m.discharge_date_time = #{dischargeDateTime,jdbcType=NVARCHAR}
</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
#{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDate != null and startDate != ''">
and m.discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120)
</when>
<when test="endDate != null and endDate != ''">
and m.discharge_date_time &lt;= #{endDate,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
</select>
</mapper>

@ -8,6 +8,7 @@
<result column="type_name" jdbcType="NVARCHAR" property="typeName" />
<result column="type_sort" jdbcType="INTEGER" property="typeSort" />
<result column="effective" jdbcType="INTEGER" property="effective" />
<result column="price" jdbcType="DECIMAL" property="price"/>
<result column="remark" jdbcType="NVARCHAR" property="remark" />
<result column="creater" jdbcType="NVARCHAR" property="creater" />
<result column="create_time" jdbcType="NCHAR" property="createTime" />
@ -15,7 +16,7 @@
<result column="update_time" jdbcType="NCHAR" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
id, archive_detail_id, type_flag, type_name, type_sort, effective, remark, creater,
id, archive_detail_id, type_flag, type_name, type_sort, effective,price, remark, creater,
create_time, updater, update_time
</sql>
<select id="selectById" parameterType="java.lang.Integer" resultMap="BaseResultMap">
@ -23,6 +24,7 @@
<include refid="Base_Column_List" />
from emr_fault_type
where id = #{id,jdbcType=INTEGER}
order by type_sort
</select>
<select id="selectByCol" parameterType="com.emr.entity.Emr_Fault_Type" resultMap="BaseResultMap">
select
@ -59,6 +61,7 @@
<if test="updateTime != null">
and update_time = #{updateTime,jdbcType=NCHAR}
</if>
order by type_sort
</select>
<delete id="delById" parameterType="java.lang.Integer">
delete from emr_fault_type
@ -66,11 +69,11 @@
</delete>
<insert id="insert" parameterType="com.emr.entity.Emr_Fault_Type">
insert into emr_fault_type (id, archive_detail_id, type_flag,
type_name, type_sort, effective,
type_name, type_sort, effective, price,
remark, creater, create_time,
updater, update_time)
values (#{id,jdbcType=INTEGER}, #{archiveDetailId,jdbcType=NVARCHAR}, #{typeFlag,jdbcType=NVARCHAR},
#{typeName,jdbcType=NVARCHAR}, #{typeSort,jdbcType=INTEGER}, #{effective,jdbcType=INTEGER},
#{typeName,jdbcType=NVARCHAR}, #{typeSort,jdbcType=INTEGER}, #{effective,jdbcType=INTEGER}, #{price,jdbcType=DECIMAL},
#{remark,jdbcType=NVARCHAR}, #{creater,jdbcType=NVARCHAR}, #{createTime,jdbcType=NCHAR},
#{updater,jdbcType=NVARCHAR}, #{updateTime,jdbcType=NCHAR})
</insert>
@ -95,6 +98,9 @@
<if test="effective != null">
effective,
</if>
<if test="price!=null">
price,
</if>
<if test="remark != null">
remark,
</if>
@ -130,6 +136,9 @@
<if test="effective != null">
#{effective,jdbcType=INTEGER},
</if>
<if test="price!=null">
#{price,jdbcType=DECIMAL},
</if>
<if test="remark != null">
#{remark,jdbcType=NVARCHAR},
</if>
@ -165,6 +174,9 @@
<if test="effective != null">
effective = #{effective,jdbcType=INTEGER},
</if>
<if test="price!=null">
price=#{price,jdbcType=DECIMAL},
</if>
<if test="remark != null">
remark = #{remark,jdbcType=NVARCHAR},
</if>
@ -190,6 +202,7 @@
type_name = #{typeName,jdbcType=NVARCHAR},
type_sort = #{typeSort,jdbcType=INTEGER},
effective = #{effective,jdbcType=INTEGER},
price=#{score,jdbcType=DECIMAL},
remark = #{remark,jdbcType=NVARCHAR},
creater = #{creater,jdbcType=NVARCHAR},
create_time = #{createTime,jdbcType=NCHAR},

@ -160,32 +160,35 @@
where log_id = #{logId,jdbcType=INTEGER}
</update>
<select id="selectByCol" parameterType="com.emr.entity.Emr_Log_Vo" resultMap="BaseResultMap2">
select s.*,l.* from emr_log l
select m.id
archive_detail_id,m.inp_no,m.visit_id,m.name,m.sex,m.ID_NO,m.ArchiveState,f.id,f.state,f.recall_reason,f.back_flag,l.*
from emr_log l
left join archive_master m
on l.log_title=m.id
left join (
select m.id archive_detail_id,m.inp_no,m.visit_id,m.name,m.sex,m.ID_NO,m.ArchiveState,f.id,f.state,f.recall_reason
from archive_master m
RIGHT JOIN emr_fault_detail f
on m.id=f.archive_detail_id
) s
on l.log_title=s.id --where l.sys_flag='EMR_Medical_Record' and l.log_content='病案召回'
select * from emr_fault_detail ess
where not exists(select 1 from emr_fault_detail where id = ess.id and create_time
&lt; ess.create_time and archive_detail_id= ess.archive_detail_id ) and ess.state in('已召回')
) f
on l.log_title=f.archive_detail_id
where 1=1
<if test="inpNo != null and inpNo != ''">
and s.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
<if test="inpNo != null and inpNo != ''">
and m.inp_no like '%'+#{inpNo,jdbcType=NCHAR}+'%'
</if>
<if test="visitId != null and visitId != ''">
and s.visit_id=#{visitId,jdbcType=NCHAR}
and m.visit_id=#{visitId,jdbcType=NCHAR}
</if>
<if test="name != null and name != ''">
and s.name like '%'+#{name,jdbcType=NCHAR}+'%'
and m.name like '%'+#{name,jdbcType=NCHAR}+'%'
</if>
<if test="archivestate != null and archivestate != ''">
and s.ArchiveState=#{archivestate,jdbcType=NCHAR}
and m.ArchiveState=#{archivestate,jdbcType=NCHAR}
</if>
<if test="state != null and state != ''">
and s.state=#{state,jdbcType=NCHAR}
and f.state=#{state,jdbcType=NCHAR}
</if>
<if test="idNo != null and idNo != ''">
and s.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
and m.ID_NO like '%'+#{idNo,jdbcType=NCHAR}+'%'
</if>
<if test="logTitle != null">
and l.log_title = #{logTitle,jdbcType=NVARCHAR}

@ -17,13 +17,25 @@
<result column="startDate" jdbcType="NVARCHAR" property="startDate"/>
<result column="endDate" jdbcType="NVARCHAR" property="endDate"/>
</resultMap>
<resultMap id="BaseResultMap2" type="com.emr.entity.V_Count2">
<result column="deptCode" jdbcType="NVARCHAR" property="deptCode"/>
<result column="deptName" jdbcType="NVARCHAR" property="deptName"/>
<result column="name" jdbcType="NVARCHAR" property="name"/>
<result column="doctorInCharge" jdbcType="NVARCHAR" property="doctorInCharge"/>
<result column="dischargeDateTime" jdbcType="NVARCHAR" property="dischargeDateTime"/>
<result column="admissionDateTime" jdbcType="NVARCHAR" property="admissionDateTime"/>
<result column="total" jdbcType="NVARCHAR" property="total"/>
<result column="dayNum" jdbcType="NVARCHAR" property="dayNum"/>
<result column="expried" jdbcType="NVARCHAR" property="expried"/>
<result column="expiredDay" jdbcType="NVARCHAR" property="expiredDay"/>
</resultMap>
<sql id="Base_Column_List">
deptCode, deptName, inNum, outNum, fileNum, unfileNum, deathNum, fileRate,
day2Rate, day3Rate, day7Rate
</sql>
<select id="selectByCol" parameterType="com.emr.entity.V_Count" resultMap="BaseResultMap">
<![CDATA[
select * from (select DISTINCT c.dept_name as deptCode,t8.Name as deptName, t.inNum ,t1.outNum ,t2.fileNum , t3.unfileNum ,t4.deathNum,
SELECT deptCode, deptName, ISNULL(inNum, 0) inNum, ISNULL(outNum, 0) outNum, ISNULL(fileNum, 0) fileNum, ISNULL(unfileNum, 0) unfileNum, ISNULL(deathNum, 0) deathNum, ISNULL(fileRate, '0') fileRate, ISNULL(day2Rate, '0') day2Rate, ISNULL(day3Rate, '0') day3Rate, ISNULL(day7Rate, '0') day7Rate FROM (select DISTINCT c.dept_name as deptCode,t8.Name as deptName, t.inNum ,t1.outNum ,t2.fileNum , t3.unfileNum ,t4.deathNum,
(t2.fileNum/t1.outNum) as fileRate,(t5.Num-t4.deathNum)/(t2.fileNum-t4.deathNum) as day2Rate, (t6.Num-t4.deathNum)/(t2.fileNum-t4.deathNum) as day3Rate, (t7.Num)/(t2.fileNum) as day7Rate
from archive_master as c
]]>
@ -149,12 +161,67 @@
group by dept_name) as t7 on c.dept_name= t7.dept_name
left join (SELECT code,Name FROM emr_dictionary ) as t8 on c.dept_name=t8.code
) v_count where 1=1
<!--<if test="deptCode != null and deptCode!=''">-->
<!--and deptCode = #{deptCode,jdbcType=NVARCHAR}-->
<!--</if>-->
<if test="deptCode != null and deptCode!=''">
and deptCode = #{deptCode,jdbcType=NVARCHAR}
and deptCode in
<foreach item="item" collection="deptCode.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="deptName != null and deptName!=''">
and deptName = #{deptName,jdbcType=NVARCHAR}
</if> and deptName is not null
and deptName in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
and deptName is not null
</if>
<!--<if test="deptName != null and deptName!=''">-->
<!--and deptName = #{deptName,jdbcType=NVARCHAR}-->
<!--</if>-->
</select>
<select id="selByDept" parameterType="com.emr.entity.V_Count2" resultMap="BaseResultMap2">
select c.deptName,c.Name,count(*) total,sum(c.dayNum) dayNum,sum(c.Saleable)expired,sum(c.expiredDay) expiredDay
from view_count c
where 1=1 and c.deptName is not null
<if test="deptName != null and deptName!=''">
and c.deptName in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<choose>
<when test="startDateTo != null and startDateTo != '' and endDateTo != null and endDateTo != ''">
and c.discharge_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and
#{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
<when test="startDateTo != null and startDateTo != ''">
and c.discharge_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120)
</when>
<when test="endDateTo != null and endDateTo != ''">
and c.discharge_date_time &lt;= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59'
</when>
</choose>
group by c.deptName,c.Name
</select>
<select id="selByCharge" parameterType="com.emr.entity.V_Count2" resultMap="BaseResultMap2">
select c2.deptName,c2.doctorInCharge,count(*) total,sum(c2.dayNum) dayNum,sum(c2.Saleable)expired,sum(c2.expiredDay) expiredDay
from view_count c2
where 1=1 and c2.deptName is not null and c2.doctorInCharge is not null
<if test="deptName != null and deptName!=''">
and c2.deptName in
<foreach item="item" collection="deptName.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="doctorInCharge != null and doctorInCharge!=''">
and c2.doctorInCharge in
<foreach item="item" collection="doctorInCharge.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
group by c2.deptName,c2.doctorInCharge
</select>
</mapper>

@ -25,7 +25,7 @@ public class MapperTest {
//1、创建SpringIOC容器
ApplicationContext ioc=new FileSystemXmlApplicationContext("classpath:config/applicationContext.xml");
PaperDao paper=ioc.getBean(PaperDao.class);
System.out.println(paper);
System.out.println(123);
//System.out.println(paper);
//System.out.println(123);
}
}

@ -5,19 +5,25 @@
<link rel="stylesheet" href="${path}/static/css/comm.css"/>
<%--<!-- 引入bootstrap样式 -->--%>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/bower_components/bootstrap/dist/css/bootstrap.min.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/bower_components/bootstrap-table/bootstrap-table.min.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/bootstrap-table.min.css"/>
<link href="${path}/static/bootstrap-3.3.7/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.css" rel="stylesheet">
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-toastr/toastr.min.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-fileinput-master/css/fileinput.min.css">
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-treeview/bootstrap-treeview.min.css" type="text/css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/src/extensions/page-jump/bootstrap-table-pagejump.css"/>
<link rel="stylesheet" href="${path}/static/bootstrap-3.3.7/plugins/bootstrap-select-1.13.0-dev/dist/css/bootstrap-select.min.css">
<link rel="stylesheet" type="text/css" href="${path}/static/css/timeAxis1.css">
<script type="text/javascript" src="${path}/static/js/comm.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/bower_components/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/bower_components/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/bower_components/bootstrap/dist/js/bootstrap.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/bootstrap-table.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/bootstrap-table.min.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-select-1.13.0-dev/dist/js/bootstrap-select.min.js"></script>
<script type="text/javascript" src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/src/extensions/page-jump/bootstrap-table-pagejump.js"></script>
<script type="text/javascript" src="${path}/static/js/timeAxis1.js"></script>
<%--<!-- 引入中文语言包 -->--%>
<script type="text/javascript"
src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-table-develop/dist/locale/bootstrap-table-zh-CN.js"></script>
@ -37,5 +43,4 @@
<%--<script type="text/javascript" src="${path}/static/js/jquery.media.js"></script>--%>
<%--pdf---%>
<script type="text/javascript" src="${path}/static/pdfjs/build/pdf.js"></script>
<script src="${path}/static/bootstrap-3.3.7/plugins/bootstrap-fileinput-master/js/fileinput.min.js"></script>

File diff suppressed because it is too large Load Diff

@ -79,14 +79,12 @@
</head>
<body style="background-color: #c1d7e3">
<div >
<div id="treediv" style="width:310px;float:left;background-color: #fff;">
<div class="col-md-3" style="background-color: #fff;">
<div class="row titleCss">
&nbsp;字典列表
</div>
<div class="row" style="margin-left: 5px;">
<div class="col-md-8">
<input type="text" id="key" value="" class="input-sm form-control empty" placeholder="字典名称"/>
</div>
<div class="form-inline ">
<input type="text" id="key" value="" class="input-sm " style="width:70%" placeholder="字典名称"/>
<button type="button" class="btn btn-primary btn-sm" id="searchBtn">查询</button>
</div>
<div class="row" style="margin-left: 5px;">
@ -108,7 +106,7 @@
<form id="form1" style="margin-left: 150px">
<div style="text-align: right;margin-right: 200px;margin-bottom: 30px">
<button type="button" class="btn btn-info btn-sm" id="addBtn" style="display:none">添加叶子</button>
<button type="button" class="btn btn-warning btn-sm" id="addTypeBtn">添加类别</button>
<%--<button type="button" class="btn btn-warning btn-sm" id="addTypeBtn">添加类别</button>--%>
</div>
<div id="allTypeDiv">
<div class="row">
@ -369,7 +367,7 @@
}
$.fn.zTree.init($("#ztree"), setting, zNodes);
var treeObj = $.fn.zTree.init($("#ztree"), setting, zNodes);
treeObj.expandAll(true);
$("#parentId").treeSelect(checkNodes);
var node;
@ -455,7 +453,7 @@
$("#typecode").val(treeNode.typecode);
$("#typename").val(treeNode.typename);
$("#subTypeDiv").hide();
$("#addTypeBtn").show();
//$("#addTypeBtn").show();
$("#addBtn").show();
//判断节点是否有叶子节点,有则不可改父级,无则可改动
var childrenNodes = treeNode.children;
@ -472,7 +470,7 @@
$("#typecode").val(pNode.typecode);
$("#typename").val(pNode.typename);
$("#subTypeDiv").show();
$("#addTypeBtn").hide();
//$("#addTypeBtn").hide();
$("#addBtn").hide();
$("#parentDiv").show();
}
@ -493,7 +491,7 @@
$("#subTypeDiv").removeAttr("display");
$("#addBtn").hide();
$("#allTypeDiv").hide();
$("#addTypeBtn").show();
//$("#addTypeBtn").show();
$("#parentDiv").hide();
emptyEntity(1);
@ -555,24 +553,83 @@
};
}
/**
* 遍历树节点,将
* 1.自身不满足搜索条件
* 且
* 2.其子节点不包含有满足条件的节点
* 的节点加入到filterResult中
*
* @param node 查询的节点
* @param inputStr 搜索条件
* @param filterResult 过滤的结果集
* @return 该节点是否满足条件
*/
function filterNodes(node, inputStr, filterResult) {
if (node != null) {
//自身是否符合搜索条件
var selfMatch = node.name.indexOf(inputStr) > -1;
//子节点是否有满足的条件的节点
var childMatch = false;
var children = node.children;
if (children != undefined) {
for (index in children) {
childMatch = filterNodes(children[index], inputStr, filterResult) || childMatch;
}
}
//自身不满足搜索条件 且其子节点不包含有满足条件的节点
if (!selfMatch && !childMatch) {
filterResult.push(node);
}
return selfMatch || childMatch;
} else {
return true;
}
}
function filter(node) {
return !node.isParent && node.isFirstNode;
}
function searchNode() {
//查询叶子节点
var zTree = $.fn.zTree.getZTreeObj("ztree");
var value = $("#key").val();
if (key.hasClass("empty")) {
value = "";
if (value == "") {
//显示隐藏的节点
var nodes = zTree.getNodesByParam("isHidden", true);
zTree.showNodes(nodes);
} else {
//显示隐藏的节点
nodes = zTree.getNodesByParam("isHidden", true);
zTree.showNodes(nodes);
var root = zTree.getNodeByParam("level", "0");
var hiddenNodes = new Array();
filterNodes(root, value, hiddenNodes);
zTree.hideNodes(hiddenNodes);
}
if (lastValue === value) return;
lastValue = value;
updateNodes(false);
if (value === "") return;
nodeList = zTree.getNodesByParamFuzzy("name", value);
updateNodes(true);
}
zTree.expandAll(true);
}
// function searchNode2() {
// //查询叶子节点
// var zTree = $.fn.zTree.getZTreeObj("ztree");
// var value = $("#key").val();
// if (key.hasClass("empty")) {
// value = "";
// }
// if (lastValue === value) return;
// lastValue = value;
// updateNodes(false);
// if (value === "") return;
// nodeList = zTree.getNodesByParamFuzzy("name", value);
// updateNodes(true);
// }
$(document).keydown(function (event) {
if (event.keyCode == 13) {
@ -589,11 +646,11 @@
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
if (index != null && index != "" && index.indexOf("addType") != -1) {
$("#addTypeBtn").show();
} else {
$("#addTypeBtn").hide();
}
// if (index != null && index != "" && index.indexOf("addType") != -1) {
// $("#addTypeBtn").show();
// } else {
// $("#addTypeBtn").hide();
// }
if (index != null && index != "" && index.indexOf("add") != -1) {
$("#addBtn").show();
} else {
@ -678,27 +735,27 @@
$("#addTypeBtn").click(function () {
addBol = 1;
$("#delBtn").hide();
if (currNode == null) {
toastr.warning("请先选择一个节点!");
return;
}
$("#typecode").removeAttr("readOnly");
$("#typename").removeAttr("readOnly");
$("#allTypeDiv").show();
$("#subTypeDiv").hide();
//判断树选中节点,为父节点部分显示,为叶子节点全部显示
//console.log(currNode.isParent+"====d");
// else if(currNode.isParent){
// $("#parentDiv").hide();
// }else{
// $("#subTypeDiv").show();
// }
emptyEntity(1);
});
// $("#addTypeBtn").click(function () {
// addBol = 1;
// $("#delBtn").hide();
// if (currNode == null) {
// toastr.warning("请先选择一个节点!");
// return;
// }
// $("#typecode").removeAttr("readOnly");
// $("#typename").removeAttr("readOnly");
// $("#allTypeDiv").show();
// $("#subTypeDiv").hide();
// //判断树选中节点,为父节点部分显示,为叶子节点全部显示
//
// //console.log(currNode.isParent+"====d");
// // else if(currNode.isParent){
// // $("#parentDiv").hide();
// // }else{
// // $("#subTypeDiv").show();
// // }
// emptyEntity(1);
// });
$("#addBtn").click(function () {
addBol = 2;

@ -7,6 +7,10 @@
<head>
<title>缺陷列表</title>
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<style>
.divCss {
@ -60,29 +64,34 @@
<input type="text" class="input-sm form-control" name="end" id="endDate"/>
</div>
</div>
<div class="form-group divCss8" id="deptDiv">
<label for="deptName">出院科室:</label>
<select class="input-sm form-control" id="deptName">
<div class="form-group divCss8" id="deptDiv" style="height: 18px;margin-top: -7px;">
<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"
title="请输入出院科室">
<option value="">全部</option>
<%--<option value="在院">在院</option>--%>
<%--<option value="未归档">未归档</option>--%>
<%--<option value="归档中">归档中</option>--%>
<%--<option value="初审">初审</option>--%>
<%--<option value="已认证">已认证</option>--%>
<%--<option value="已归档">已归档</option>--%>
</select>
</div>
<div class="form-group divCss">
<label for="archivestate">状态 :</label>
<label for="archivestate">归档状态 :</label>
<select class="input-sm form-control" id="archivestate">
<option value="">全部</option>
<option value="在院">在院</option>
<option value="未归档">未归档</option>
<option value="归档中">归档中</option>
<%--<option value="在院">在院</option>--%>
<%--<option value="未归档">未归档</option>--%>
<%--<option value="归档中">归档中</option>--%>
<option value="初审">初审</option>
<option value="已认证">已认证</option>
<option value="已归档">已归档</option>
<option value="复审退回">复审退回</option>
<%--<option value="复审退回">复审退回</option>--%>
</select>
</div>
<button type="button" class="btn btn-primary btn-sm divCss" id="searchBtn">查询</button>
@ -95,7 +104,7 @@
<table id="table" class="table text-nowrap table-striped"></table>
<%--</div>--%>
<div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
<div class="columns columns-right btn-group pull-right">
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>                
@ -117,24 +126,27 @@
<script>
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
}
});
}
getDept();
$('.bs-select').selectpicker({});
var tipLoad=1;
<%--function getDept() {--%>
<%--//获取科室列表--%>
<%--$.ajax({--%>
<%--url: "${path}/inHosp/getDept",--%>
<%--type: "POST",--%>
<%--data: {effective: 1, typecode: "dept_code"},--%>
<%--success: function (result) {--%>
<%--if (result != null) {--%>
<%--for (var i = 0; i < result.length; i++) {--%>
<%--$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");--%>
<%--}--%>
<%--}--%>
<%--$(".selectpicker").selectpicker('refresh');--%>
<%--}--%>
<%--});--%>
<%--}--%>
<%--getDept();--%>
//处理导出内容,这个方法可以自定义某一行、某一列、甚至某个单元格的内容,也就是将其值设置为自己想要的内容
function DoOnCellHtmlData(cell, row, col, data) {
@ -156,245 +168,326 @@
}
function initTable() {
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/fault/faultList", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20,50,100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
toolbar: '#toolbar',//指定工具栏
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
},
queryParams: function (params) {
var currPageSize= this.pageSize;
if(currPageSize==2){
currPageSize=10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
var url = window.location.href;
var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
if (deptName != null && deptName != "") {
//$("#deptName").hide();
deptName += "," + $("#deptName").val();
} else {
deptName = $("#deptName").val();
}
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
};
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'left',
valign: 'middle',
},
{
title: '序号',
field: 'id',
align: 'center',
valign: 'middle',
//field: 'ID',
// visible: false,
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '病案清单id',
field: 'archiveDetailId',
valign: 'middle',
visible: false
//sortable: true,
},
{
title: '住院号',
field: 'inpNo',
valign: 'middle',
//sortable: true,
if(tipLoad==1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/fault/getQualityControlList", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
paginationShowPageGo: true,
pageList: [10, 20,50,100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
smartDisplay: false,
pageSize: 2, // 页面数据条数
pageNumber: 1, // 初始化加载第一页,默认第一页
sidePagination: 'server', // 设置为服务器端分页 客户端client
search: false,
showColumns: true,
toolbar: '#toolbar',//指定工具栏
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
},
{
title: '住院次数',
field: 'visitId',
valign: 'middle',
align:'center'
},
{
title: '姓名',
field: 'name',
valign: 'middle',
},
{
title: '出院科室',
field: 'deptName',
align: 'left',
valign: 'middle',
},
{
title: '出院日期',
//field: 'title',
//sortable: true,
field: 'dischargeDateTime',
align: 'center',
valign: 'middle',
// formatter: function (value, row, index) {
// return value
queryParams: function (params) {
var currPageSize= this.pageSize;
if(currPageSize==2){
currPageSize=10;
}
var limit= null;
var offset= params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset=0;
limit=this.totalRows;
this.pageSize= limit;
}else{
limit = currPageSize;
this.pageSize = currPageSize;
}
// var url = window.location.href;
// var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
//
// var len = ($("#deptName").val()).length;
// if (len > 0) {
// var deptNameT = $("#deptName").val();
// if (deptNameT.indexOf("") == -1) {
// deptName = $("#deptName").val().toString();
// }
// }
},
{
title: '归档状态',
field: 'archivestate',
align: 'center',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证 复审退回
var a ='';
if (value == "未归档") {
a = '<span style="color:#c0c0c0;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已归档") {
a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "在院") {
a = '<span style="color:#bfa200"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "归档中") {
a = '<span style="color:#5d9c0a"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "初审") {
a = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已认证") {
a = '<span style="color:#FF7F24"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "复审退回") {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
var url = window.location.href;
var deptName = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
var len = value.length;
if (len > 0) {
if (value.indexOf("") == -1) {
deptName = value.toString();
}
return a;
}
},
{
field: 'score',
title: '评分(分)',
//sortable: true,
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'backContent',
title: '退回内容',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'assortId',
title: '缺陷选项',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
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.toString()
};
return temp;
},
{
field: 'content',
title: '缺陷自定内容',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'createTime',
title: '创建时间',
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'left',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
// {
// title: "操作",
// align: 'center',
// valign: 'middle',
// width: 160, // 定义列的宽度单位为像素px
// formatter: function (value, row, index) {
// return '<button class="btn btn-primary btn-sm" onclick="del(\'' + row.Age + '\')">修改</button> <button class="btn btn-danger btn-sm" onclick="del(\'' + row.Age + '\')">删除</button>';
// },
// cellStyle: function (value, row, index) {
// return {classes: 'success'}
//
// }
// }
],
onLoadSuccess: function (result) { //加载成功时执行
console.info("加载成功");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
{
title: '序号',
field: 'id',
align: 'center',
valign: 'middle',
//field: 'ID',
// visible: false,
formatter: function (value, row, index) {
return index + 1;
}
},
{
title: '病案清单id',
field: 'archiveDetailId',
valign: 'middle',
visible: false
//sortable: true,
},
{
title: '住院号',
field: 'inpNo',
valign: 'middle',
//sortable: true,
},
{
title: '住院次数',
field: 'visitId',
valign: 'middle',
align:'center'
},
{
title: '姓名',
field: 'name',
valign: 'middle',
},
{
title: '出院科室',
field: 'deptName',
align: 'left',
valign: 'middle',
},
{
title: '出院日期',
//field: 'title',
//sortable: true,
field: 'dischargeDateTime',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
var result="";
if(value!=null && value!=""){
result= value.substring(0, 10);
}else{
result=value;
}
return result
}
},
{
title: '归档状态',
field: 'archivestate',
align: 'center',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证 复审退回
var a ='';
if (value == "未归档") {
a = '<span style="color:#c0c0c0;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已归档") {
a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "在院") {
a = '<span style="color:#bfa200"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "归档中") {
a = '<span style="color:#5d9c0a"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "初审") {
a = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已认证") {
a = '<span style="color:#FF7F24"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "复审退回") {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "提交") {
a = '<span style="color:blue"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "主任退回") {
a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
return a;
});
}
},
{
field: 'score',
title: '评分(分)',
//sortable: true,
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'price',
title: '扣分项',
//sortable: true,
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'backContent',
title: '退回内容',
visible: false,
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'typeName',
title: '缺陷选项',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'content',
title: '缺陷自定内容',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
title: '主管医生',
field: 'doctorInCharge',
align: 'center',
valign: 'middle',
},
{
field: 'createTime',
title: '创建时间',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
{
field: 'creater',
title: '创建人',
valign: 'middle',
formatter: function (value, row, index) {
return value;
//return changeDateFormat(value)
}
},
// {
// field: 'updater',
// title: '修改人',
// valign: 'middle',
// formatter: function (value, row, index) {
// return value;
// //return changeDateFormat(value)
// }
// },
// {
// field: 'updateTime',
// title: '修改时间',
// valign: 'middle',
// formatter: function (value, row, index) {
// return value;
// //return changeDateFormat(value)
// }
// }
// {
// title: "操作",
// align: 'center',
// valign: 'middle',
// width: 160, // 定义列的宽度单位为像素px
// formatter: function (value, row, index) {
// return '<button class="btn btn-primary btn-sm" onclick="del(\'' + row.Age + '\')">修改</button> <button class="btn btn-danger btn-sm" onclick="del(\'' + row.Age + '\')">删除</button>';
// },
// cellStyle: function (value, row, index) {
// return {classes: 'success'}
//
// }
// }
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad = 0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad = 0;
}
});
}
}
var value = [];
//查询
$('#searchBtn').click(function () {
if ($("#deptName").val().length > 0){
value = $("#deptName").val();
}
//查询之后重新从第一页算起
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1}); //刷新
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1}); //刷新
} else {
toastr.warning("正在查询,请稍等...");
}
$("#deptName").val([]);
});
@ -420,12 +513,47 @@
$("#excelBtn").hide();
$(".columns-right").hide();
}
var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
if (deptAdmissionTo == null || deptAdmissionTo == '') {
var deptArr = deptAdmissionTo.split(',');
//var n = (deptAdmissionTo.split(',')).length ;
if (deptAdmissionTo == null || deptAdmissionTo == '' || deptArr.length > 1) {
$('#deptDiv').show();
} else {
$('#deptDiv').hide();
}
function getDept() {
//获取科室列表
$.ajax({
url: "${path}/inHosp/getDept",
type: "POST",
data: {effective: 1, typecode: "dept_code"},
success: function (result) {
if (result != null) {
for (var i = 0; i < result.length; i++) {
if (deptArr.length != 1 && deptArr[0] != "") {
var bol = deptArr.indexOf(result[i].code);
if (bol != -1) {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
} else {
$("#deptName").append("<option value=" + result[i].code + ">" + result[i].name + "</option>");
}
}
}
$(".selectpicker").selectpicker('refresh'); //
}
});
}
getDept();
// var deptAdmissionTo = url.substring(url.lastIndexOf('&') + 1).replace("depts=", "");
// if (deptAdmissionTo == null || deptAdmissionTo == '') {
// $('#deptDiv').show();
// } else {
// $('#deptDiv').hide();
// }
//初始化表
// $('.form_datetime').datetimepicker({
@ -462,19 +590,17 @@
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=", "");
if (deptName != null && deptName != '') {
deptName += "," + $("#deptName").val();
} else {
deptName = $("#deptName").val();
}
if (deptName != null) {
if (deptName == ",") {
deptName = "";
var len = ($("#deptName").val()).length;
if (len > 0) {
var deptNameT = $("#deptName").val();
if (deptNameT.indexOf("") == -1) {
deptName = $("#deptName").val().toString();
}
}
window.location.href = "${path}/fault/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId +
"&name=" + name + "&startDate=" + startDate + "&endDate=" + endDate + "&archivestate=" + archivestate+
"&deptName="+ deptName;

@ -47,10 +47,11 @@
</div>
<div class="row">
<div class="col-md-8">
<input type="text" id="key" value="" class="input-sm form-control empty" placeholder="缺陷类别名称"/>
</div>
<input type="text" id="key" value="" class="input-sm empty" placeholder="缺陷类别名称"/>
<button type="button" class="btn btn-primary btn-sm" id="searchBtn" >查询</button>
</div>
</div>
</div>
<div class="row">
<button type="button" class="btn btn-success btn-sm treeBtn" onclick="expandAll();">全部展开</button>
<button type="button" class="btn btn-success btn-sm treeBtn" onclick="collapseAll();">全部收缩</button>
@ -89,6 +90,15 @@
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-2 control-label">分值:</label>
<div class="col-sm-4">
<input type="text" class="input-sm form-control" id="price" name="price">
</div>
<div class="col-sm-1"></div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="col-sm-2 control-label">类别排序:</label>
@ -146,6 +156,7 @@
obj.id = result[i].id;
obj.pId = 0;
obj.name = result[i].typeName;
obj.price=result[i].price;
obj.typeFlag = result[i].typeFlag;
obj.typeSort = result[i].typeSort;
obj.remark = result[i].remark;
@ -177,6 +188,7 @@
$("#id").val("");
$("#typeFlag").val("");
$("#typeName").val("");
$("#price").val(0);
$("#effective").val(1);
$("#typeSort").val("");
$("#remark").val("");
@ -205,13 +217,21 @@
},
callback: {
beforeClick: function (treeId, treeNode) {
if(treeNode.id!=0) {
$("#form1").show();
$("#id").val(treeNode.id);
$("#typeFlag").val(treeNode.typeFlag);
if(treeNode.typeFlag=="defined"){
$("#typeFlag").attr("readonly",true);
$("#delBtn").hide();
}else{
$("#typeFlag").attr("readonly", false);
$("#delBtn").show();
}
$("#typeSort").val(treeNode.typeSort);
$("#typeName").val(treeNode.name);
$("#price").val(treeNode.price);
$("#effective").val(treeNode.effective);
$("#remark").val(treeNode.remark);
}else{
@ -222,23 +242,78 @@
}
};
function focusKey(e) {
if (key.hasClass("empty")) {
key.removeClass("empty");
}
}
function blurKey(e) {
if (key.get(0).value === "") {
key.addClass("empty");
}
}
/**
* 遍历树节点,将
* 1.自身不满足搜索条件
* 且
* 2.其子节点不包含有满足条件的节点
* 的节点加入到filterResult中
*
* @param node 查询的节点
* @param inputStr 搜索条件
* @param filterResult 过滤的结果集
* @return 该节点是否满足条件
*/
function filterNodes(node, inputStr, filterResult) {
if (node != null) {
//自身是否符合搜索条件
var selfMatch = node.name.indexOf(inputStr) > -1;
//子节点是否有满足的条件的节点
var childMatch = false;
var children = node.children;
if (children != undefined) {
for (index in children) {
childMatch = filterNodes(children[index], inputStr, filterResult) || childMatch;
}
}
//自身不满足搜索条件 且其子节点不包含有满足条件的节点
if (!selfMatch && !childMatch) {
filterResult.push(node);
}
return selfMatch || childMatch;
} else {
return true;
}
}
function searchNode() {
var zTree = $.fn.zTree.getZTreeObj("ztree");
var value = $("#key").val();
if (value == ""){
if (value == "") {
//显示隐藏的节点
var nodes = zTree.getNodesByParam("isHidden", true);
zTree.showNodes(nodes);
}else {
nodeList = zTree.getNodesByParamFuzzy("name", value);
var nodes = zTree.getNodes();
zTree.hideNodes(nodes[0].children);
updateNodes(true);
} else {
//显示隐藏的节点
nodes = zTree.getNodesByParam("isHidden", true);
zTree.showNodes(nodes);
var root = zTree.getNodeByParam("level", "0");
var hiddenNodes = new Array();
filterNodes(root, value, hiddenNodes);
zTree.hideNodes(hiddenNodes);
}
zTree.expandAll(true);
}
function updateNodes(highlight) {
var zTree = $.fn.zTree.getZTreeObj("ztree");
for (var i = 0, l = nodeList.length; i < l; i++) {
@ -259,6 +334,12 @@
});
$(function () {
key = $("#key");
key.bind("focus", focusKey)
.bind("blur", blurKey)
.bind("propertychange", searchNode)
.bind("input", searchNode);
var url = window.location.href;
var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", "");
if (index != null && index != "" && index.indexOf("add") != -1) {
@ -284,6 +365,7 @@
entity.id=$("#id").val();
entity.typeFlag= $("#typeFlag").val();
entity.typeName = $("#typeName").val();
entity.price = $("#price").val();
entity.typeSort = $("#typeSort").val();
entity.effective = $("#effective").val();
entity.remark = $("#remark").val();
@ -297,7 +379,7 @@
$("#delBtn").click(function () {
if ($("#id").val() == null || $("#id").val() == "") {
toastr.error("请选中一个缺陷类");
toastr.warning("请选中一个缺陷类");
return;
}
$.ajax({
@ -333,18 +415,22 @@
var entity = getEntity();
if(entity.typeFlag.length>32){
toastr.error("代码长度不超过32");
toastr.warning("代码长度不超过32");
return;
}else if (entity.typeName == null || entity.typeName == "") {
toastr.error("名称必填");
toastr.warning("名称必填");
return;
}else if (entity.typeName.length > 50) {
toastr.error("名称长度不超过50");
} else if (entity.typeName.length > 200) {
toastr.warning("名称长度不超过200");
return;
} else if (entity.typeSort == null || entity.typeSort == "") {
toastr.error("排序必填");
toastr.warning("排序必填");
return;
}
if (entity.price == null || entity.price == "") {
//分值默认为0
entity.price=0;
}
var ztree = $.fn.zTree.getZTreeObj("ztree");
//修改缺陷类别
$.ajax({

@ -1,87 +1,174 @@
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set value="${pageContext.request.contextPath}" var="path" scope="page"/>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>首页</title>
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%--<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">--%>
<%@ include file="/WEB-INF/jspf/common.jspf" %>
<script type="text/javascript" src="${path}/static/js/menu.js"></script>
</head>
<style>
.navbar-custom-menu > li >span {
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space: nowrap;
max-width: 180px;
height: 24px;
display: block;
}
.blue {
/*background: #c5dbec;最后一个参数设置透明度前面三个是RGB颜色值*/
background-color: rgba(255, 255, 255, 0.15);
color: white;
}
</style>
<script type="text/javascript">
$(function () {
$(function () {
// $.ajaxSetup({
// contentType: "application/x-www-form-urlencoded;charset=utf-8",
// complete: function (XMLHttpRequest, textStatus) {
// },
// statusCode: {
// 404: function () {
// toastr.warning('数据获取/输入失败没有此服务。404');
// },
// 504: function () {
// toastr.warning('数据获取/输入失败服务器没有响应。504');
// },
// 500: function () {
// toastr.warning('服务器有误。500');
// }
// }
// });
if (${menuList == null}) {
// setTimeout(function () {
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
//}, 14400000);
}else{
setTimeout(function () {
$('#exampleModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}, 14400000);
ajaxJsonFun();
}
function ajaxJsonFun() {
var menuList =${menuList};
//拥有的功能
var str = "";
//所属科室
var depts = "";
if (menuList != null && menuList != "")
if (menuList.code == 100) {
var list = menuList.extend.list;
if (list != null) {
var sysUL;
for (var i = 0; i < list.length; i++) {
if (list[0].deptId == list[i].deptId) {
if (list[i].methodParent != 0 && (list[i].menuUrl == "#" || list[i].menuUrl == "" || list[i].menuUrl == null)) {
var mulLi = newLiFun();
var mulA = newAFun(list[i].menuName, list[i].menuIcon);
mulLi.append(mulA);
var menuAUL = newUlFun();
//sysUL = liFun(list[i].menuName,list[i].menuIcon);
/*菜单*/
for (var j = 0; j < list.length; j++) {
if (list[i].menuId == list[j].methodParent) {
if (list[0].deptId == list[j].deptId) {
str = "";
depts = "";
/*功能值*/
for (var x = 0; x < list.length; x++) {
// console.log(list[x].methodType);
if (depts.indexOf(list[x].deptCode) == -1) {
if (depts != "") {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
depts += ",";
var deptNameArr=[];
// 创建定时器,需要绑定事件,指定时间(ms)
if (${menuList != null}) {
var menuList = <%=session.getAttribute("menuList")%>;//${menuList == null} ? window.location.href = "login.jsp" :${menuList};
if (menuList != "") {
if (menuList.code == 100) {
var list = menuList.extend.list;
if (list != null) {
var sysUL;
for (var i = 0; i < list.length; i++) {
if (list[0].deptId == list[i].deptId) {
if (list[i].methodParent != 0 && (list[i].menuUrl == "#" || list[i].menuUrl == "" || list[i].menuUrl == null)) {
var mulLi = newLiFun();
var mulA = newAFun(list[i].menuName, list[i].menuIcon);
mulLi.append(mulA);
var menuAUL = newUlFun();
//sysUL = liFun(list[i].menuName,list[i].menuIcon);
/*菜单*/
for (var j = 0; j < list.length; j++) {
if (list[i].menuId == list[j].methodParent) {
if (list[0].deptId == list[j].deptId) {
str = "";
depts = "";
/*功能值*/
for (var x = 0; x < list.length; x++) {
// console.log(list[x].methodType);
if (depts.indexOf(list[x].deptCode) == -1) {
if (depts != "") {//该步即不会第一位有逗号,也防止最后一位拼接逗号!
depts += ",";
}
depts += list[x].deptCode;
}
if (deptNameArr.indexOf(list[x].deptName) == -1) {
if(list[x].deptName!= undefined)
deptNameArr.push(list[x].deptName);
}
//console.log(list[x].methodParent + "=====" + list[j].menuId);
if (list[x].method != null && list[x].method != "" && list[x].methodParent == list[j].menuId) {
//console.log(list[x].methodParent+"====="+ list[j].menuId);
str += list[x].methodType + ",";
}
depts += list[x].deptCode;
}
//console.log(list[x].methodParent + "=====" + list[j].menuId);
if (list[x].method != null && list[x].method != "" && list[x].methodParent == list[j].menuId) {
//console.log(list[x].methodParent+"====="+ list[j].menuId);
str += list[x].methodType + ",";
if (depts.indexOf("undefined") != -1) {
depts = "";
}
if (str.indexOf("undefined") != -1) {
str = "";
}
}
if (depts.indexOf("undefined") != -1) {
depts = "";
}
if (str.indexOf("undefined") != -1) {
str = "";
}
var menuALi = newAliFun(list[j].menuName, list[j].menuIcon, "/emr_medical_record" + list[j].menuUrl + "?num=" + str + "&depts=" + depts);
var menuALi = newAliFun(list[j].menuName, list[j].menuIcon, "/emr_medical_record" + list[j].menuUrl + "?num=" + str + "&depts=" + depts);
menuAUL.append(menuALi);
mulLi.append(menuAUL);
menuAUL.append(menuALi);
mulLi.append(menuAUL);
}
}
}
$('#indexTreeMenu').append(mulLi);
}
$('#indexTreeMenu').append(mulLi);
}
}
}
}
}
}
if(deptNameArr.length>0){
$("#roleAndDept").attr("title", "${userSession}(" + deptNameArr.toString() + ")");
$("#roleAndDept").html("${userSession}(" + deptNameArr.toString() + ")");
}else{
$("#roleAndDept").attr("title", "${userSession}");
$("#roleAndDept").html("${userSession}")
}
};
ajaxJsonFun();
$("#stateBtn").click(function () {
$('#exampleModal').modal('hide'); //手动关闭
});
$("ul.treeview-menu li").on({
click: function () {
$("ul.treeview-menu li").removeClass("blue");
$(this).addClass("blue");
}
});
});
</script>
<body class="skin-blue" data-spy="scroll" data-target="#scrollspy">
<body class="skin-blue" data-spy="scroll" data-target="#scrollspy" style="margin-top:-20px;">
<div class="wrapper">
<header class="main-header">
<!-- Logo -->
<a href="../index2.html" class="logo">
<a class="logo">
<!-- mini logo for sidebar mini 50x50 pixels -->
<%--<span class="logo-mini"><b>A</b>LT</span>--%>
<!-- logo for regular state and mobile devices -->
@ -100,15 +187,15 @@
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="${path}/static/bootstrap-3.3.7/dist/img/user2-160x160.jpg" class="user-image"
alt="User Image">
<span class="hidden-xs">${userSession}</span>
<span class="hidden-xs" id="roleAndDept" title="">${userSession}</span>
</a>
</li>
<li>
<div class="margin">
<div class="btn-group">
<button type="button" class="btn btn-default">主题</button>
<button type="button" class="btn btn-default" style="height:2.5rem">主题</button>
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"
aria-expanded="false" style="height:2.8rem">
aria-expanded="false" style="height:2.5rem">
<span class="caret"></span>
<span class="sr-only">Toggle Dropdown</span>
</button>
@ -126,41 +213,6 @@
</div>
</nav>
</header>
<!-- Left side column. contains the logo and sidebar -->
<%--<aside class="main-sidebar">--%>
<%--<!-- sidebar: style can be found in sidebar.less -->--%>
<%--<div class="sidebar" id="scrollspy">--%>
<%--<!-- sidebar menu: : style can be found in sidebar.less -->--%>
<%--<ul class="nav sidebar-menu">--%>
<%--<li class="header">TABLE OF CONTENTS</li>--%>
<%--<li class="active"><a href="#introduction"><i class="fa fa-circle-o"></i> Introduction</a></li>--%>
<%--<li><a href="#download"><i class="fa fa-circle-o"></i> Download</a></li>--%>
<%--<li><a href="#dependencies"><i class="fa fa-circle-o"></i> Dependencies</a></li>--%>
<%--<li><a href="#advice"><i class="fa fa-circle-o"></i> Advice</a></li>--%>
<%--<li><a href="#layout"><i class="fa fa-circle-o"></i> Layout</a></li>--%>
<%--<li><a href="#adminlte-options"><i class="fa fa-circle-o"></i> Javascript Options</a></li>--%>
<%--<li class="treeview" id="scrollspy-components">--%>
<%--<a href="javascript:void(0)"><i class="fa fa-circle-o"></i> Components</a>--%>
<%--<ul class="nav treeview-menu">--%>
<%--<li><a href="#component-main-header">Main Header</a></li>--%>
<%--<li><a href="#component-sidebar">Sidebar</a></li>--%>
<%--<li><a href="#component-control-sidebar">Control Sidebar</a></li>--%>
<%--<li><a href="#component-info-box">Info Box</a></li>--%>
<%--<li><a href="#component-box">Boxes</a></li>--%>
<%--<li><a href="#component-direct-chat">Direct Chat</a></li>--%>
<%--</ul>--%>
<%--</li>--%>
<%--<li><a href="#plugins"><i class="fa fa-circle-o"></i> Plugins</a></li>--%>
<%--<li><a href="#browsers"><i class="fa fa-circle-o"></i> Browser Support</a></li>--%>
<%--<li><a href="#upgrade"><i class="fa fa-circle-o"></i> Upgrade Guide</a></li>--%>
<%--<li><a href="#implementations"><i class="fa fa-circle-o"></i> Implementations</a></li>--%>
<%--<li><a href="#faq"><i class="fa fa-circle-o"></i> FAQ</a></li>--%>
<%--<li><a href="#license"><i class="fa fa-circle-o"></i> License</a></li>--%>
<%--</ul>--%>
<%--</div>--%>
<%--<!-- /.sidebar -->--%>
<%--</aside>--%>
<aside class="main-sidebar">
<section class="sidebar">
<!-- 菜单列表-->
@ -185,15 +237,14 @@
<%--</li>--%>
<%--<li class="active treeview">--%>
<%--<a href="#">--%>
<%--<i class="fa fa-dashboard"></i> <span>其他管理</span>--%>
<%--<i class="fa fa-dashboard"></i> <span>统计管理</span>--%>
<%--<span class="pull-right-container">--%>
<%--<i class="fa fa-angle-left pull-right"></i>--%>
<%--</span>--%>
<%--</a>--%>
<%--<ul class="treeview-menu">--%>
<%--<li><a href="${path}/faultType/faultTypes" target="iFrame1"><i class="fa fa-circle-o"></i>缺陷类别列表</a></li>--%>
<%--<li><a href="${path}/dictionary/dictionarys" target="iFrame1"><i class="fa fa-circle-o"></i>字典列表</a></li>--%>
<%--&lt;%&ndash;<li><a href="${path}/paper/allPaper" target="iFrame1"><i class="fa fa-circle-o"></i>通知管理</a></li>&ndash;%&gt;--%>
<%--&lt;%&ndash;<li><a href="${path}/pdfCtr/pdfDir" target="_blank"><i class="fa fa-circle-o"></i>缺陷PDF列表</a></li>&ndash;%&gt;--%>
<%--<li><a href="${path}/vCount2/vCounts" target="iFrame1"><i class="fa fa-circle-o"></i>主管医生统计</a></li>--%>
<%--</ul>--%>
<%--</li>--%>
</ul>
@ -201,16 +252,13 @@
</aside>
<div class="content-wrapper">
<section class="content">
<!-- 内容 src="${path}/paper/allPaper"-->
<div class="page-content-wrapper">
<div class="page-content">
<div class="">
<iframe style="height:90%;width:100%; overflow-x:hidden;overflow-y:scroll" id="iFrame1"
name="iFrame1" frameborder="0"></iframe>
<iframe style="height:90%;width:100%; overflow-x:hidden;overflow-y:scroll" id="iFrame1" name="iFrame1" frameborder="0"></iframe>
</div>
</div>
</div>
@ -224,19 +272,34 @@
<strong>Copyright &copy; 2019-2020 嘉时软件.</strong> All rights
reserved.
</footer>
<!-- Control Sidebar -->
<%--<aside class="control-sidebar control-sidebar-dark">--%>
<%--<!-- Create the tabs -->--%>
<%--<div class="pad">--%>
<%--This is an example of the control sidebar.--%>
<%--</div>--%>
<%--</aside><!-- /.control-sidebar -->--%>
<!-- Add the sidebar's background. This div must be placed
immediately after the control sidebar -->
<div class="control-sidebar-bg"></div>
</div><!-- ./wrapper -->
<%--确认框--%>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="exampleModalLabel">确认</h4>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<input type="hidden" id="idT" name="idT" value=""/>
<label class="control-label">用户长时间未操作,请重新登录!</label>
</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="stateBtn">确认</button>
</div>
</div>
</div>
</div>
</body>
</html>

@ -5,6 +5,10 @@
<head>
<title>召回日志列表</title>
<meta charset="utf-8">
<!-- 解决部分兼容性问题如果安装了GCF则使用GCF来渲染页面如果未安装GCF则使用最高版本的IE内核进行渲染。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<!-- 页面按原比例显示 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<%@include file="../../jspf/comm.jspf" %>
<style>
.divCss {
@ -59,12 +63,14 @@
<select class="input-sm form-control" id="archivestate">
<option value="">全部</option>
<option value="在院">在院</option>
<option value="未归档">未归档</option>
<%--<option value="未归档">未归档</option>--%>
<option value="归档中">归档中</option>
<option value="初审">初审</option>
<option value="已认证">已认证</option>
<option value="已归档">已归档</option>
<option value=" 复审退回">复审退回</option>
<option value="提交">提交</option>
<option value=" 主任退回">主任退回</option>
</select>
</div>
<div class="form-group divCss8">
@ -91,7 +97,7 @@
<!--数据表格-->
<table id="table" class="table table-striped"></table>
<div id="toolbar" class="btn-group pull-right" style="margin-right: 20px;">
<div class="columns columns-right btn-group pull-right">
<div class="columns columns-right btn-group pull-right" style="margin-top:0px;">
<div class="btn-group btn-info">
<select id="sel_exportoption" class="form-control">                
<option value="">导出当前页面数据</option>
@ -113,6 +119,7 @@
</div>
</body>
<script>
var tipLoad=1;
$(function () {
@ -154,229 +161,237 @@
}
function initTable() {
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/recallDate/recallDateList", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
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: '#toolbar',//指定工具栏
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_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
if(tipLoad == 1){
$("#table").bootstrapTable({ // 对应table标签的id
//method: 'POST',
url: "${path}/recallDate/recallDateList", // 获取表格数据的url
contentType: "application/x-www-form-urlencoded",//一种编码。好像在post请求的时候需要用到。这里用的get请求注释掉这句话也能拿到数据
//dataField: "data",//这是返回的json数组的key.默认是"rows".这里只有前后端约定好就行
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
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: '#toolbar',//指定工具栏
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 temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
idNo: $("#idNo").val(),
inpNo: "" + $("#inpNo").val(),
visitId: "" + $("#visitId").val(),
name: "" + $("#name").val(),
archivestate: "" + $("#archivestate").val(),
state: "" + $("#state").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
};
return temp;
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
},
{
title: '序号',
field: 'id',
align: 'center',
valign: 'middle',
//sortable: true,
// visible: false,
formatter: function (value, row, index) {
return index + 1;
var limit = null;
var offset = params.offset;
//判断是否导出全部all
if ($("#sel_exportoption").val() == "all") {
offset = 0;
limit = this.totalRows;
this.pageSize = limit;
} else {
limit = currPageSize;
this.pageSize = currPageSize;
}
var temp = {
limit: limit, //页面大小
offset: offset, //页码
order: params.order, //排位命令descasc
idNo: $("#idNo").val(),
inpNo: "" + $("#inpNo").val(),
visitId: "" + $("#visitId").val(),
name: "" + $("#name").val(),
archivestate: "" + $("#archivestate").val(),
state: "" + $("#state").val(),
startDate: $("#startDate").val(),
endDate: $("#endDate").val()
};
return temp;
},
{
title: '病案清单id',
field: 'archiveDetailId',
valign: 'middle',
visible: false
},
{
title: '住院号',
field: 'inpNo',
align: 'center',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
},
{
title: '姓名',
field: 'name',
valign: 'middle',
},
{
title: '性别',
field: 'sex',
align: 'center',
valign: 'middle',
},
{
title: '身份证号',
field: 'idNo',
valign: 'middle',
},
{
title: '召回人',
field: 'creater',
valign: 'middle',
},
{
title: '召回时间',
field: 'createDate',
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [{
title: '全选',
field: 'select', //复选框
checkbox: true,
width: 25,
align: 'center',
valign: 'middle',
},
{
title: '召回原因',
field: 'recallReason',
valign: 'middle',
},
// {
// title: '入院科室',
// field: 'deptAdmissionTo',
// align: 'center',
// valign: 'middle',
// },
// {
// title: '入院日期',
// field: 'admissionDateTime',
// align: 'center',
// },
// {
// title: '出院科室',
// field: 'deptName',
// align: 'center',
// valign: 'middle',
// },
// {
// title: '出院日期',
// field: 'dischargeDateTime',
// align: 'center',
// valign: 'middle',
// // formatter: function (value, row, index) {
// // return value
// // }
// },
{
title: '状态',
field: 'state',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证
var a = '';
if (value == "未召回") {
a = '<span style="color:#ccc;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已召回") {
a = '<span style="color:#3e8f3e"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
{
title: '序号',
field: 'id',
align: 'center',
valign: 'middle',
//sortable: true,
// visible: false,
formatter: function (value, row, index) {
return index + 1;
}
return a;
}
},
{
title: '归档状态',
field: 'archivestate',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证 复审退回
var a = '';
if (value == "未归档") {
a = '<span style="color:#c0c0c0;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已归档") {
a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "在院") {
a = '<span style="color:#bfa200"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "归档中") {
a = '<span style="color:#5d9c0a"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "初审") {
a = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已认证") {
a = '<span style="color:#FF7F24"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "复审退回") {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
},
{
title: '病案清单id',
field: 'archiveDetailId',
valign: 'middle',
visible: false
},
{
title: '住院号',
field: 'inpNo',
align: 'center',
valign: 'middle',
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
},
{
title: '姓名',
field: 'name',
valign: 'middle',
},
{
title: '性别',
field: 'sex',
align: 'center',
valign: 'middle',
},
{
title: '身份证号',
field: 'idNo',
valign: 'middle',
},
{
title: '召回人',
field: 'creater',
valign: 'middle',
},
{
title: '召回时间',
field: 'createDate',
align: 'center',
valign: 'middle',
},
{
title: '召回原因',
field: 'recallReason',
valign: 'middle',
},
// {
// title: '入院科室',
// field: 'deptAdmissionTo',
// align: 'center',
// valign: 'middle',
// },
// {
// title: '入院日期',
// field: 'admissionDateTime',
// align: 'center',
// },
// {
// title: '出院科室',
// field: 'deptName',
// align: 'center',
// valign: 'middle',
// },
// {
// title: '出院日期',
// field: 'dischargeDateTime',
// align: 'center',
// valign: 'middle',
// // formatter: function (value, row, index) {
// // return value
// // }
// },
{
title: '状态',
field: 'state',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证
var a = '';
if (value == "已召回") {
a = '<span style="color:#3e8f3e"><i class="glyphicon glyphicon-ok-circle" aria-hidden="true"></i>已召回</span>';
} else{
a = '<span style="color:#ccc;"><i class="glyphicon glyphicon-ban-circle" aria-hidden="true"></i>未召回</span>';
}
return a;
}
},
{
title: '归档状态',
field: 'archivestate',
align: 'center',
valign: 'middle',
formatter: function (value, row, index) {
//在院 未归档 归档中 初审 已归档 已认证 复审退回
var a = '';
if (value == "未归档") {
a = '<span style="color:#c0c0c0;"><i class="fa fa-times-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已归档") {
a = '<span style="color:#030378"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "在院") {
a = '<span style="color:#bfa200"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "归档中") {
a = '<span style="color:#5d9c0a"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "初审") {
a = '<span style="color:#8FBC8F"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "已认证") {
a = '<span style="color:#FF7F24"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "复审退回") {
a = '<span style="color:red"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "提交") {
a = '<span style="color:blue"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
} else if (value == "主任退回") {
a = '<span style="color:#0000FF"><i class="fa fa-check-circle-o" aria-hidden="true"></i>' + value + '</span>';
}
return a;
}
return a;
}
],
onLoadSuccess: function (result) { //加载成功时执行
//console.info("加载成功");
tipLoad=0;
},
onLoadError: function () { //加载失败时执行
//console.info("加载数据失败");
tipLoad=0;
}
],
onLoadSuccess: function (result) { //加载成功时执行
console.info("加载成功");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
});
}
}
@ -386,7 +401,12 @@
//查询
$('#searchBtn').click(function () {
//查询之后重新从第一页算起
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
if (tipLoad == 0) {
$("#table").bootstrapTable("refreshOptions", {pageNumber: 1});
} else {
toastr.warning("正在查询,请稍等...");
}
$(".selectpicker").selectpicker( 'deselectAll' );
// $('#table').bootstrapTable('destroy');
//$('#table').bootstrapTable('refreshOptions', {limit: 1, offset: 10});
//刷新

File diff suppressed because it is too large Load Diff

@ -29,7 +29,6 @@
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--shiro-->
<!-- <filter>
<filter-name>shiroFiler</filter-name>

@ -2353,8 +2353,8 @@
if (this.options.showHeader && this.options.height) {
this.$tableHeader.show();
this.resetHeader();
padding += this.$header.outerHeight();
//this.resetHeader();
//padding += this.$header.outerHeight();
} else {
this.$tableHeader.hide();
this.trigger('post-header');

@ -24,4 +24,4 @@
.fixed-table-body-columns table {
position: absolute;
animation: none;
}
}

@ -2353,8 +2353,8 @@
if (this.options.showHeader && this.options.height) {
this.$tableHeader.show();
this.resetHeader();
padding += this.$header.outerHeight();
// this.resetHeader();
// padding += this.$header.outerHeight();
} else {
this.$tableHeader.hide();
this.trigger('post-header');

@ -2483,8 +2483,8 @@
if (this.options.showHeader && this.options.height) {
this.$tableHeader.show();
this.resetHeader();
padding += this.$header.outerHeight();
// this.resetHeader();
// padding += this.$header.outerHeight();
} else {
this.$tableHeader.hide();
this.trigger('post-header');

@ -148,3 +148,4 @@ body {
.img{
cursor: pointer;
}

@ -33,69 +33,4 @@ jQuery(function ($) {
}
/** 拖拽模态框*/
var dragModal = {
mouseStartPoint: {"left": 0, "top": 0},
mouseEndPoint: {"left": 0, "top": 0},
mouseDragDown: false,
basePoint: {"left": 0, "top": 0},
moveTarget: null,
topleng: 0
}
$(document).on("mousedown", ".modal-header", function (e) {
//webkit内核和火狐禁止文字被选中
$('body').addClass('select')
//ie浏览器禁止文字选中
document.body.onselectstart = document.body.οndrag = function () {
return false;
}
if ($(e.target).hasClass("close"))//点关闭按钮不能移动对话框
return;
dragModal.mouseDragDown = true;
dragModal.moveTarget = $(this).parent().parent();
dragModal.mouseStartPoint = {"left": e.clientX-500, "top": e.pageY};
dragModal.basePoint = dragModal.moveTarget.offset();
dragModal.topLeng = e.pageY - e.clientY;
});
$(document).on("mouseup", function (e) {
dragModal.mouseDragDown = false;
dragModal.moveTarget = undefined;
dragModal.mouseStartPoint = {"left": 0, "top": 0};
dragModal.basePoint = {"left": 0, "top": 0};
});
$(document).on("mousemove", function (e) {
if (!dragModal.mouseDragDown || dragModal.moveTarget == undefined) return;
var mousX = e.clientX;
var mousY = e.pageY;
if (mousX < 0) mousX = 0;
if (mousY < 0) mousY = 25;
dragModal.mouseEndPoint = {"left": mousX, "top": mousY};
var width = dragModal.moveTarget.width();
var height = dragModal.moveTarget.height();
var clientWidth = document.body.clientWidth
var clientHeight = document.body.clientHeight;
if (dragModal.mouseEndPoint.left < dragModal.mouseStartPoint.left - dragModal.basePoint.left) {
dragModal.mouseEndPoint.left = 0;
} else if (dragModal.mouseEndPoint.left >= clientWidth - width + dragModal.mouseStartPoint.left - dragModal.basePoint.left) {
dragModal.mouseEndPoint.left = clientWidth - width - 38;
} else {
dragModal.mouseEndPoint.left = dragModal.mouseEndPoint.left - (dragModal.mouseStartPoint.left - dragModal.basePoint.left+800);//移动修正,更平滑
}
if (dragModal.mouseEndPoint.top - (dragModal.mouseStartPoint.top - dragModal.basePoint.top) < dragModal.topLeng) {
dragModal.mouseEndPoint.top = dragModal.topLeng;
} else if (dragModal.mouseEndPoint.top - dragModal.topLeng > clientHeight - height + dragModal.mouseStartPoint.top - dragModal.basePoint.top) {
dragModal.mouseEndPoint.top = clientHeight + dragModal.topLeng - clientHeight;// - height +220 + dragModal.topLeng;
} else {
dragModal.mouseEndPoint.top = dragModal.mouseEndPoint.top - (dragModal.mouseStartPoint.top - dragModal.basePoint.top);
}
dragModal.moveTarget.offset(dragModal.mouseEndPoint);
});
$(document).on('hidden.bs.modal', '.modal', function (e) {
$('.modal-dialog').css({'top': '0px', 'left': 'px'})
$('body').removeClass('select')
document.body.onselectstart = document.body.οndrag = null;
})
});

@ -46,7 +46,7 @@ function listPowerFun(menuArr){
var sysUL = newUlFun();
var sysArr = [];
for (var j = 0; j < menuArr.length; j++) {
if (sysArr.indexOf(menuArr[j].sysFlag) == -1 && menuArr[j].sysFlag== "emr_medical_record") {
if (sysArr.indexOf(menuArr[j].sysFlag) == -1 && menuArr[j].sysFlag== "power") {
sysArr.push(menuArr[j].sysFlag);
//console.log(menuArr[j]);
var sysA = newAFun(menuArr[j].sysName, menuArr[j].menuIcon);
@ -81,7 +81,7 @@ function listPowerFun(menuArr){
for (var z = 0; z < menuArr.length; z++) {
if (menuAr.indexOf(menuArr[z].menuId) == -1 && menuArr[z].menuUrl!=null && menuArr[z].menuUrl != '') {
menuAr.push(menuArr[z].menuId);
//console.log(menuArr[z]);
console.log(menuArr[z]);
var menuAA = newAFun(menuArr[z].menuName, menuArr[z].menuIcon);
var menuALi = newAliFun(menuArr[z].menuName, menuArr[z].menuIcon, menuArr[z].menuUrl);

@ -44,7 +44,7 @@ http://sourceforge.net/adobe/cmap/wiki/License/
</head>
<body tabindex="1" class="loadingInProgress">
<div id="outerContainer">
<div id="outerContainer" class="sidebarOpen">
<div id="sidebarContainer">
<div id="toolbarSidebar">
@ -412,7 +412,9 @@ http://sourceforge.net/adobe/cmap/wiki/License/
</div>
</div>
</div>
<script>
</script>
</body>
</html>

@ -5685,7 +5685,7 @@ var PDFViewerApplication = {
initialized: false,
fellback: false,
pdfDocument: null,
sidebarOpen: false,
sidebarOpen: true,
printing: false,
/** @type {PDFViewer} */
pdfViewer: null,
@ -6857,6 +6857,10 @@ function webViewerInitialized() {
var queryString = document.location.search.substring(1);
var params = PDFViewerApplication.parseQueryString(queryString);
var file = 'file' in params ? params.file : DEFAULT_URL;
var filePath='fileUrl' in params?params.fileUrl:'';
if(filePath!=''){
file=file+"&fileUrl="+filePath;
}
var fileInput = document.createElement('input');
fileInput.id = 'fileInput';

Loading…
Cancel
Save