diff --git a/src/main/java/com/emr/controller/inHospitalController.java b/src/main/java/com/emr/controller/inHospitalController.java index 8ffa5290..2c5138a6 100644 --- a/src/main/java/com/emr/controller/inHospitalController.java +++ b/src/main/java/com/emr/controller/inHospitalController.java @@ -117,7 +117,19 @@ public class inHospitalController { @RequestMapping(value = "/getAssort") public List getAssort(HttpServletResponse response, Archive_Detail_Vo archiveDetailVo) throws Exception { //分段列表 - return archiveDetailService.selectByClo(archiveDetailVo); + List newList=archiveDetailService.selectByClo(archiveDetailVo); + //查询新生儿数据并存入list + Integer page=archiveDetailService.selectChildByClo(archiveDetailVo); + if(page!=0){ + Archive_Detail_Vo archiveDetailVoNew=new Archive_Detail_Vo(); + archiveDetailVoNew.setAssortId("1000"); + archiveDetailVoNew.setAssortName("新生儿病历"); + archiveDetailVoNew.setPrintFlag("0"); + archiveDetailVoNew.setPageNum(page); + archiveDetailVoNew.setAssortSort((short)1000); + newList.add(archiveDetailVoNew); + } + return newList; } //@OptionalLog(methods = "调用单个作废") @@ -125,7 +137,13 @@ public class inHospitalController { @RequestMapping(value = "/getAssortdetail") public OffsetLimitPage getAssortdetail(HttpServletResponse response, Archive_Detail_Vo archiveDetailVo, Integer offset, Integer limit) throws Exception { //分段详情列表分页 - OffsetLimitPage result = archiveDetailService.detailByClo(archiveDetailVo, offset, limit); + OffsetLimitPage result =null; + //判断是否是新生儿数据 assortId=1000 + if("1000".equals(archiveDetailVo.getAssortId())){ + result = archiveDetailService.selectChild(archiveDetailVo, offset, limit); + }else { + result = archiveDetailService.detailByClo(archiveDetailVo, offset, limit); + } return result; } diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java new file mode 100644 index 00000000..ce12c976 --- /dev/null +++ b/src/main/java/com/emr/controller/signListController.java @@ -0,0 +1,669 @@ +/** + * Copyright (C), 2015-2019 + * Author: HJL + * Date: 2019/8/8 12:46 + * Description: + */ +package com.emr.controller; + +import com.emr.dao.Archive_MasterMapper; +import com.emr.entity.*; +import com.emr.service.*; +import com.emr.util.IDHelper; +import com.emr.util.ThreadExcelUtils; +import com.emr.util.XMLUtil; +import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_CALLBACK_RECORD; +import com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_INDEX_CALLBACK; +import org.apache.axis.client.Call; +import org.apache.axis.client.Service; +import org.apache.axis.encoding.XMLType; +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 javax.xml.rpc.ParameterMode; +import javax.xml.rpc.ServiceException; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.rmi.RemoteException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +@Controller +@RequestMapping("signList") +public class signListController { + @Value("${EMRQualityControl}") + private String EMRQualityControl; + @Value("${EMRQualityControlParamName}") + private String EMRQualityControlParamName; + + @Autowired + private Sign_ListService signListService; + + @Autowired + private Archive_MasterService archiveMasterService; + + @Autowired + private Emr_Fault_TypeService emrFaultTypeService; + + + @Autowired + private Emr_Fault_DetailService emrFaultDetailService; + + @Autowired(required = false) + private Archive_Master_FollowingService archive_master_followingService; + + @RequestMapping(value = "/signLists") + public String faults(Model model) { + return "signListDir/signList"; + } + + @ResponseBody + @RequestMapping(value = "/signList") + public OffsetLimitPage signList(HttpServletRequest request, HttpServletResponse response, Sign_List_Vo signListVo, Integer offset, Integer limit) throws UnsupportedEncodingException { + response.setCharacterEncoding("utf-8"); + request.setCharacterEncoding("utf-8"); + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + //签收日期没进行选择的话则默认显示的是当前日期的数据 + if(signListVo.getStartSignDate()==null||"".equals(signListVo.getStartSignDate())){ + signListVo.setStartSignDate(sdf.format(new Date())); + } + if(signListVo.getEndSignDate()==null||"".equals(signListVo.getEndSignDate())){ + signListVo.setEndSignDate(sdf.format(new Date())); + } + OffsetLimitPage result = signListService.selectSignList(signListVo, offset, limit); + return result; + } + + /*@ResponseBody + @RequestMapping(value = "/lastVerifyList") + public String lastVerifyList(HttpServletRequest request, HttpServletResponse response, Sign_List signList) throws UnsupportedEncodingException { + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + request.setCharacterEncoding("utf-8"); + response.setCharacterEncoding("utf-8"); + //点击签收生成一条数据 + String result=""; + int isSign=signList.getIsSign(); + List list = archiveMasterService.selByCol(archiveMaster); + if(list.size()>0){ + //修改 + archiveMaster=list.get(0); + if(archiveMaster.getIsSign()!=isSign) { + // 从session获取用户名 + Subject currentUser = SecurityUtils.getSubject(); + Session session = currentUser.getSession(); + String username = (String) session.getAttribute("userSession");//获取前面登录的用户名 + + //参数输入 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowTime = format.format(new Date()); + archiveMaster.setIsSign(isSign); + if (isSign == 0) { + archiveMaster.setSigner(""); + archiveMaster.setSignTime(""); + } else if (isSign == 1) { + System.out.println((archiveMaster.getIsscaned().equals("1"))+"===="+archiveMaster.getIsscaned()!="1"); + if(archiveMaster.getIsscaned().equals("0")) { + result = "无纸质,无需签收!"; + return result; + }else { + archiveMaster.setSigner(username); + archiveMaster.setSignTime(nowTime); + } + } + int bol = archiveMasterService.updateByClo(archiveMaster); + if (bol == 1) { + String followingContent=""; + String followingType=""; + if(isSign == 1) { + result = "该份病案签收成功!"; + followingContent="病案签收成功"; + followingType="13"; + }else{ + result = "该份病案取消签收成功!"; + followingContent="病案取消签收成功"; + followingType="14"; + } + //2021-05-13 following表中添加签收操作记录 + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + String handleName = user.getUserPosition();//姓名 + Archive_Master_Following archive_master_following = new Archive_Master_Following(); + archive_master_following.setMasterId(archiveMaster.getId()); + archive_master_following.setFollowingType(followingType); + archive_master_following.setFollowingContent(followingContent); + archive_master_following.setHandleTime(nowTime); + archive_master_following.setHandleId(username); + archive_master_following.setHandleName(handleName); + archive_master_followingService.insertSelective(archive_master_following); + } else { + result = "该份病案签收失败!"; + } + + }else{ + if(isSign==1) { + result = "该份病案已经签收!"; + }else if(isSign==0){ + result = "该份病案已经取消签收!"; + } + } + }else{ + result="该份病案并不存在!"; + } + return result; + }*/ + + + @ResponseBody + @RequestMapping(value = "/addSignList") + public String addSignList(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { + response.setCharacterEncoding("utf-8"); + request.setCharacterEncoding("utf-8"); + String result=""; + SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + List master=archiveMasterService.selectByCol(archiveMasterVo); + Sign_List signList=new Sign_List(); + if(master!=null&&master.size()>0){ + signList.setSysFlag(1); + signList.setMasterID(master.get(0).getId()); + signList.setPid(master.get(0).getPatientId()); + Subject currentUser = SecurityUtils.getSubject(); + Session session = currentUser.getSession(); + signList.setC1((String)session.getAttribute("userSession")); + signList.setC5("1"); + List returnList=signListService.selectSignListWith(signList); + + signList.setId(IDHelper.NewID()); + /*signList.setC2(master.get(0).getSigner()); + signList.setC3(master.get(0).getDeptName());*/ + signList.setCreatedtime(sdf.format(new Date())); + signList.setdTime(sdf.format(new Date())); + signList.setT1(sdf.format(new Date())); + int z=signListService.insertSignList(signList); + result="签收成功"; + } + //OffsetLimitPage result = archiveMasterService.selectByLast(archiveMasterVo); + return result; + } + + /* @ResponseBody + @RequestMapping(value = "/signList") + public OffsetLimitPage signList(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; + }*/ + + @ResponseBody + @RequestMapping(value = "/exportExcel") + public void exportExcel(HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + String[] header = {"病历清单id","住院号","住院次数","名字","性别","身份证","出院科室","出院日期","主管医生","状态","医生是否提交","医生","医生提交日期","护士是否提交","护士","护士提交日期","电子病历医生提交","电子病历护士提交","是否死亡","是否签收","签收人","签收时间"}; + String[] fileNames = {"id","inpNo","visitId","name","sex","idNo","deptName","dischargeDateTime","doctorInCharge","archivestate","cmtDoctor","doctorName","cmtDoctorDate","cmtNurse","nurseName","cmtDurseDate","emrDoctorCmt","emrNureCmt","deathFlag","is_sign","signer","sign_time"}; + //文件名 + String fileName = "病案室终审" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; + //构造excel的数据 + List list = archiveMasterService.selectByLast(archiveMasterVo); + ThreadExcelUtils utils = new ThreadExcelUtils(fileName, "", header, fileNames); + String result=utils.exportExcelToFilePath(response,utils.listConvert(list)); + } + + + @ResponseBody + @RequestMapping(value = "/getFaultType") + public List getFaultType(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Type emrFaultType) throws UnsupportedEncodingException { + response.setCharacterEncoding("utf-8"); + request.setCharacterEncoding("utf-8"); + List result = emrFaultTypeService.selectByCol(emrFaultType); + return result; + } + + + @ResponseBody + @RequestMapping(value = "/getDetailByArchId") + 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) 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 list=emrFaultDetailService.selectByArchiveId(entityFault); + int doctorFlagNum=0; + int nurseFlagNum=0; + if(list!=null && list.size()>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()); + + //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("主任退回")) { + //1医生 ,2护士 + for (int k = 0; k < list.size(); k++) { + if ("1".equals(list.get(k).getBackFlag()) || "5".equals(list.get(k).getBackFlag())) { + doctorFlagNum+=1; + } + if ("2".equals(list.get(k).getBackFlag()) || "6".equals(list.get(k).getBackFlag())) { + nurseFlagNum+=1; + } + } + + if(doctorFlagNum>0){ + archiveMaster.setCmtDoctor(0); + archiveMaster.setDoctorName(""); + archiveMaster.setCmtDoctorDate(""); + + //2021-01-30 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(nurseFlagNum>0){ + archiveMaster.setCmtNurse(0); + archiveMaster.setNurseName(""); + archiveMaster.setCmtNurseDate(""); + + //2021-01-30 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 (bol == 1) { + //判断缺陷记录是否有医生或护士(有则退回状态改1) + //参数输入 + emrFaultDetail.setCreater(username); + emrFaultDetail.setCreateTime(nowTime); + //插入缺陷记录 + bol = emrFaultDetailService.insertSel(emrFaultDetail); + } + } + if(doctorFlagNum==0 && nurseFlagNum==0){ + archiveMaster.setCmtDoctor(1); + archiveMaster.setCmtNurse(1); + } + bol = archiveMasterService.updateByClo(archiveMaster); + if (emrFaultDetail.getState().equals("复审退回")){ + //2021-01-30 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); + } + }else{ + bol=2; + } + } + 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 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; + } + + @ResponseBody + @RequestMapping(value = "/updateSignState") + public String updateSignState(HttpServletRequest request, HttpServletResponse response, Archive_Master archiveMaster) throws UnsupportedEncodingException { + request.setCharacterEncoding("utf-8"); + response.setCharacterEncoding("utf-8"); + String result=""; + int isSign=archiveMaster.getIsSign(); + List list = archiveMasterService.selByCol(archiveMaster); + if(list.size()>0){ + //修改 + archiveMaster=list.get(0); + if(archiveMaster.getIsSign()!=isSign) { + // 从session获取用户名 + Subject currentUser = SecurityUtils.getSubject(); + Session session = currentUser.getSession(); + String username = (String) session.getAttribute("userSession");//获取前面登录的用户名 + + //参数输入 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String nowTime = format.format(new Date()); + archiveMaster.setIsSign(isSign); + if (isSign == 0) { + archiveMaster.setSigner(""); + archiveMaster.setSignTime(""); + } else if (isSign == 1) { + System.out.println((archiveMaster.getIsscaned().equals("1"))+"===="+archiveMaster.getIsscaned()!="1"); + if(archiveMaster.getIsscaned().equals("0")) { + result = "无纸质,无需签收!"; + return result; + }else { + archiveMaster.setSigner(username); + archiveMaster.setSignTime(nowTime); + } + } + int bol = archiveMasterService.updateByClo(archiveMaster); + if (bol == 1) { + String followingContent=""; + String followingType=""; + if(isSign == 1) { + result = "该份病案签收成功!"; + followingContent="病案签收成功"; + followingType="13"; + }else{ + result = "该份病案取消签收成功!"; + followingContent="病案取消签收成功"; + followingType="14"; + } + //2021-05-13 following表中添加签收操作记录 + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + String handleName = user.getUserPosition();//姓名 + Archive_Master_Following archive_master_following = new Archive_Master_Following(); + archive_master_following.setMasterId(archiveMaster.getId()); + archive_master_following.setFollowingType(followingType); + archive_master_following.setFollowingContent(followingContent); + archive_master_following.setHandleTime(nowTime); + archive_master_following.setHandleId(username); + archive_master_following.setHandleName(handleName); + archive_master_followingService.insertSelective(archive_master_following); + } else { + result = "该份病案签收失败!"; + } + + }else{ + if(isSign==1) { + result = "该份病案已经签收!"; + }else if(isSign==0){ + result = "该份病案已经取消签收!"; + } + } + }else{ + result="该份病案并不存在!"; + } + return result; + } + + + @RequestMapping("getImg2") + public void getImg2(HttpServletRequest request, HttpServletResponse response, String path) throws IOException { + 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); + } + + @Transactional + @ResponseBody + @RequestMapping(value = "/emrShowBackReason") + public String emrShowBackReason(HttpServletRequest request, HttpServletResponse response, Emr_Fault_Detail emrFaultDetail) throws Exception { + SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + String nowTime = format1.format(new Date()); + //退回原因 + StringBuffer assortName = new StringBuffer(); + List list = emrFaultDetailService.selectByColumn(emrFaultDetail); + for (Emr_Fault_Vo emr_fault_vo:list) { + assortName.append(emr_fault_vo.getAssortName()+";"); + } + Archive_Master archive_master = archiveMasterService.selectById(emrFaultDetail.getArchiveDetailId()); + String result="false"; + if (archive_master!=null){ + result = emrWebServiceShowBackReason(archive_master.getPatientId(), + Integer.parseInt(archive_master.getVisitId()), + nowTime, + assortName.toString(), + archive_master.getInpNo()); + if (result.contains("true")){ + result = "true"; + } + } + return result; + } + + public String emrWebServiceShowBackReason(String PATIENT_ID,int VISIT_ID,String nowTime,String APPLY_REASON,String INP_NO) throws Exception { + String MR_FILE_CALLBACK_RECORD="";//入参1 + String MR_FILE_INDEX_CALLBACK="";//入参2 + + com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_CALLBACK_RECORD inputParam1 = new MR_FILE_CALLBACK_RECORD(); + inputParam1.setPATIENT_ID(PATIENT_ID); + inputParam1.setVISIT_ID(VISIT_ID); + inputParam1.setFILE_UNIQUE_ID("1"); + inputParam1.setAPPLY_DATE_TIME(nowTime); + inputParam1.setAPPLY_TIME_LIMIT(nowTime); + inputParam1.setAPPLY_REASON(APPLY_REASON); + inputParam1.setEXPIRY_TIME(nowTime); + //其他为""参数 + inputParam1.setAPPLY_USER_ID("1"); + inputParam1.setAPPLY_USER_NAME("1"); + inputParam1.setAPPLY_DEPT_CODE("1"); + inputParam1.setSTATUS(0); + inputParam1.setAPPROVE_USER_ID("1"); + inputParam1.setAPPROVE_USER_NAME("1"); + inputParam1.setAPPROVE_DEPT_CODE("1"); + inputParam1.setAPPROVE_DATE_TIME(nowTime); + inputParam1.setCLINIC_TYPE(0); + inputParam1.setAPPROVE_REASON("1"); + inputParam1.setAPPROVE_USER_ID_DIRECTOR("1"); + inputParam1.setAPPLY_USER_NAME_DIRECTOR("1"); + inputParam1.setAPPROVE_DEPT_CODE_DIRECTOR("1"); + inputParam1.setAPPROVE_DATE_TIME_DIRECTOR(nowTime); + inputParam1.setAPPLY_REASON_DIRECTOR("1"); + inputParam1.setAPPROVE_USER_ID_MEDICAL("1"); + inputParam1.setAPPLY_USER_NAME_MEDICAL("1"); + inputParam1.setAPPROVE_DEPT_CODE_MEDICAL("1"); + inputParam1.setAPPROVE_DATE_TIME_MEDICAL(nowTime); + inputParam1.setAPPLY_REASON_MEDICAL("1"); + inputParam1.setRECEIVE_USERID("1"); + + com.emr.webservice.MedicalRecordShowBackContent.MR_FILE_INDEX_CALLBACK inputParam2 = new MR_FILE_INDEX_CALLBACK(); + inputParam2.setPATIENT_ID(PATIENT_ID); + inputParam2.setVISIT_ID(VISIT_ID); + inputParam2.setAPPLY_DATE_TIME(nowTime); + inputParam2.setAPPLY_TIME_LIMIT(nowTime); + 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(nowTime); + inputParam2.setAPPLY_REASON(APPLY_REASON); + inputParam2.setCLINIC_TYPE(0); + inputParam2.setOPERATOR_TYPE(0); + inputParam2.setLIMIT_DATE(nowTime); + //其他为""参数 + inputParam2.setAPPROVE_REASON("1"); + inputParam2.setISCOPYBACK(0); + inputParam2.setIS_FIRSTPAGE(0); + inputParam2.setMRBACK_STATUS(0); + inputParam2.setIS_APPROVE(1); + inputParam2.setINP_NO(INP_NO); + inputParam2.setBACK_TYPE(0); + inputParam2.setFINISH_DATE_TIME(nowTime); + inputParam2.setAPPROVE_USER_ID_DIRECTOR("1"); + inputParam2.setAPPLY_USER_NAME_DIRECTOR("1"); + inputParam2.setAPPROVE_DEPT_CODE_DIRECTOR("1"); + inputParam2.setAPPROVE_DATE_TIME_DIRECTOR(nowTime); + inputParam2.setAPPLY_REASON_DIRECTOR("1"); + inputParam2.setAPPROVE_USER_ID_MEDICAL("1"); + inputParam2.setAPPLY_USER_NAME_MEDICAL("1"); + inputParam2.setAPPROVE_DEPT_CODE_MEDICAL("1"); + inputParam2.setAPPROVE_DATE_TIME_MEDICAL(nowTime); + inputParam2.setAPPLY_REASON_MEDICAL("1"); + inputParam2.setAPPROVE_HOST_IP("1"); + inputParam2.setAPPROVE_HOST_NAME("1"); + inputParam2.setAPPROVE_HOST_MAC_ADD("1"); + inputParam2.setHOSPITAL_NO("12440000455858169P"); + + MR_FILE_CALLBACK_RECORD = XMLUtil.convertToXml(inputParam1); + MR_FILE_INDEX_CALLBACK = XMLUtil.convertToXml(inputParam2); + + StringBuffer sb = new StringBuffer("\n\n"); + sb.append(MR_FILE_CALLBACK_RECORD); + sb.append("\n"); + sb.append(MR_FILE_INDEX_CALLBACK); + sb.append("\n"); + sb.append(""); + + String result=""; + try { + String endpoint = EMRQualityControl; + String[] subStrs = endpoint.split("="); + String url = ""; + String subStr =""; + url = subStrs[0]; + if(subStrs.length>1){ + subStr = getURLEncoderString(subStrs[1]); + } + endpoint = url+"="+subStr; + Service service = new Service(); + Call call = null; + try { + call = (Call) service.createCall(); + } catch (ServiceException e) { + + } + call.setTargetEndpointAddress(endpoint); + call.setOperationName(new QName("http://bjgoodwillcis.com", "XMLMessageServer")); + call.addParameter(EMRQualityControlParamName, XMLType.XSD_STRING, ParameterMode.IN);//接口的参数 + call.setReturnType(XMLType.XSD_STRING);//设置返回类型 + try { + result = (String) call.invoke(new Object[]{sb.toString()}); + } catch (RemoteException e) { + e.printStackTrace(); + result = e.getMessage(); + System.err.println(result); + } + } catch (Exception e) { + System.err.println(e.toString()); + } + return result; + } + + public static String getURLEncoderString(String str) { + String result = ""; + if (null == str) { + return ""; + } + try { + result = java.net.URLEncoder.encode(str, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return result; + } +} + + diff --git a/src/main/java/com/emr/dao/Archive_DetailMapper.java b/src/main/java/com/emr/dao/Archive_DetailMapper.java index 36faace1..1259faf8 100644 --- a/src/main/java/com/emr/dao/Archive_DetailMapper.java +++ b/src/main/java/com/emr/dao/Archive_DetailMapper.java @@ -77,6 +77,20 @@ public interface Archive_DetailMapper { */ List selectByCol(Archive_Detail record); + /** + * 根据可选字段查询记录(查询新生儿记录) + * @param record + * @return + */ + int selectChildByClo(Archive_Detail_Vo record); + + /** + * 查询新生儿记录 + * @param record + * @return + */ + List selectChild(Archive_Detail_Vo record); + /** * 根据可选字段查询记录 * @param record @@ -91,6 +105,13 @@ public interface Archive_DetailMapper { */ List detailByClo(Archive_Detail_Vo record); + /** + * 根据可选字段查询记录详情 + * @param record + * @return + */ + List detailWithChildByClo(Archive_Detail_Vo record); + /** * 根据可字段查询Source字段 * @param record diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index f9d086f3..a458ff4e 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -70,6 +70,13 @@ public interface Archive_MasterMapper { */ List selectByUnfile(Archive_Master_Vo record); + /** + * 根据可选字段查询查询病案示踪相关记录(不含婴儿即inpNo里有B字母的数据) + * @param record + * @return + */ + List selectByUnfileNew(Archive_Master_Vo record); + //List selectByUnfile2(Archive_Master_Vo record); /** * 导出超7天的,初审和已归档 diff --git a/src/main/java/com/emr/dao/Sign_ListMapper.java b/src/main/java/com/emr/dao/Sign_ListMapper.java new file mode 100644 index 00000000..c8a15afb --- /dev/null +++ b/src/main/java/com/emr/dao/Sign_ListMapper.java @@ -0,0 +1,153 @@ +package com.emr.dao; + +import com.emr.entity.*; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface Sign_ListMapper { + /** + * 查询列表Vo + * @return + */ + List selectSignList(Sign_List_Vo signListVo); + + /** + * 查询列表 + * @return + */ + List selectSignListWith(Sign_List signList); + + /** + * 根据id查询记录(重复) + * @param id + * @return + */ + Sign_List selectSignListById(Integer id); + + /** + * 添加记录 + * @param signList + * @return + */ + int insertSignList(Sign_List signList); + + /** + * + * @param signList + * @return + */ + int updateSignList(Sign_List signList); + + /** + * 根据id删除记录 + * @param id + * @return + */ + int deleteSignListById(Integer id); + + /** + * 根据id查询记录 + * @param ids + * @return + */ + int deleteSignListByIds(String ids); + + /** + * + * @param record + * @return + int updateCloById(Archive_Detail record); + + *//** + * 根据主键修改记录 + * @param record + * @return + *//* + int updateByPrimaryKey(Archive_Detail record); + + *//** + * 根据可选字段查询记录(重复) + * @param record + * @return + *//* + List selectByColm(Archive_Detail record); + + *//** + * 根据可选字段查询记录(重复) + * @param record + * @return + *//* + List selectByCol(Archive_Detail record); + + *//** + * 根据可选字段查询记录(查询新生儿记录) + * @param record + * @return + *//* + int selectChildByClo(Archive_Detail_Vo record); + + *//** + * 查询新生儿记录 + * @param record + * @return + *//* + List selectChild(Archive_Detail_Vo record); + + *//** + * 根据可选字段查询记录 + * @param record + * @return + *//* + List selectByClo(Archive_Detail_Vo record); + + *//** + * 根据可选字段查询记录详情 + * @param record + * @return + *//* + List detailByClo(Archive_Detail_Vo record); + + *//** + * 根据可选字段查询记录详情 + * @param record + * @return + *//* + List detailWithChildByClo(Archive_Detail_Vo record); + + *//** + * 根据可字段查询Source字段 + * @param record + * @return + *//* + List sourceByClo(Archive_Detail_Vo record); + + *//** + * 根据可选字段查询记录(重复) + * @param record + * @return + *//* + List selectByIdStr(Archive_Detail record); + + *//** + * 根据可选字段查询类别及archive_detail表的关联数据 + * @param record + * @return + *//* + List selectByCol2(Archive_Detail record); + + *//** + * 以master表的记账号或分类id集合组织分类树 + * @param patientId + * @param assortIds + * @return + *//* + List selectTypeTreeByPatientIdAndAssortIds(@Param("patientId") String patientId, @Param("assortIds") String assortIds); + + *//** + * 根据flag=0,id集查询记录 + * @param record + * @return + *//* + List selectByIdStr1(Archive_Detail record);*/ +} \ No newline at end of file diff --git a/src/main/java/com/emr/entity/Sign_List.java b/src/main/java/com/emr/entity/Sign_List.java new file mode 100644 index 00000000..4a68c2c9 --- /dev/null +++ b/src/main/java/com/emr/entity/Sign_List.java @@ -0,0 +1,246 @@ +/** + * Copyright (C), 2015-2019 + * Author: HJL + * Date: 2019/9/2 14:22 + * Description:统计 + */ +package com.emr.entity; + +import java.math.BigDecimal; + +public class Sign_List { + private Long id; + /** + * 记帐号,master表中patient_id + */ + private String pid; + /** + * 创建时间(该条记录写入数据库的时间) + */ + private String createdtime; + /** + * 具体签收内容(分段名称)由扫描时提供,以逗号分隔 + */ + private String otherInfo; + + private String masterID; + /** + * 预留字段 + */ + private String detailID; + /** + * 签收时间 + */ + private String dTime; + /** + * 系统操作标识(1纸质签收 2扫描) + */ + private Integer sysFlag; + /** + * 签收人(当前用户) + */ + private String c1; + /** + * 送纸质病历者工号 + */ + private String c2; + /** + * 送纸质病历者所在科室 + */ + private String c3; + + private String c4; + + private String c5; + + private BigDecimal n1; + + private BigDecimal n2; + + private BigDecimal n3; + /** + * 纸质病历送达时间(可等同于签收时间) + */ + private String t1; + + private String t2; + + private String T3; + + private String isFullText; + /** + * 签收标识(1已签收 2未签收) + */ + private Integer isSign; + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + + public String getCreatedtime() { + return createdtime; + } + + public void setCreatedtime(String createdtime) { + this.createdtime = createdtime; + } + + public String getOtherInfo() { + return otherInfo; + } + + public void setOtherInfo(String otherInfo) { + this.otherInfo = otherInfo; + } + + public String getMasterID() { + return masterID; + } + + public void setMasterID(String masterID) { + this.masterID = masterID; + } + + public String getDetailID() { + return detailID; + } + + public void setDetailID(String detailID) { + this.detailID = detailID; + } + + public String getdTime() { + return dTime; + } + + public void setdTime(String dTime) { + this.dTime = dTime; + } + + public Integer getSysFlag() { + return sysFlag; + } + + public void setSysFlag(Integer sysFlag) { + this.sysFlag = sysFlag; + } + + public String getC1() { + return c1; + } + + public void setC1(String c1) { + this.c1 = c1; + } + + public String getC2() { + return c2; + } + + public void setC2(String c2) { + this.c2 = c2; + } + + public String getC3() { + return c3; + } + + public void setC3(String c3) { + this.c3 = c3; + } + + public String getC4() { + return c4; + } + + public void setC4(String c4) { + this.c4 = c4; + } + + public String getC5() { + return c5; + } + + public void setC5(String c5) { + this.c5 = c5; + } + + public BigDecimal getN1() { + return n1; + } + + public void setN1(BigDecimal n1) { + this.n1 = n1; + } + + public BigDecimal getN2() { + return n2; + } + + public void setN2(BigDecimal n2) { + this.n2 = n2; + } + + public BigDecimal getN3() { + return n3; + } + + public void setN3(BigDecimal n3) { + this.n3 = n3; + } + + public String getT1() { + return t1; + } + + public void setT1(String t1) { + this.t1 = t1; + } + + public String getT2() { + return t2; + } + + public void setT2(String t2) { + this.t2 = t2; + } + + public String getT3() { + return T3; + } + + public void setT3(String t3) { + T3 = t3; + } + + public String getIsFullText() { + return isFullText; + } + + public void setIsFullText(String isFullText) { + this.isFullText = isFullText; + } + + public Integer getIsSign() { + return isSign; + } + + public void setIsSign(Integer isSign) { + this.isSign = isSign; + } +} + + diff --git a/src/main/java/com/emr/entity/Sign_List_Vo.java b/src/main/java/com/emr/entity/Sign_List_Vo.java new file mode 100644 index 00000000..70eb21de --- /dev/null +++ b/src/main/java/com/emr/entity/Sign_List_Vo.java @@ -0,0 +1,360 @@ +/** + * Copyright (C), 2015-2019 + * Author: HJL + * Date: 2019/9/2 14:22 + * Description:统计 + */ +package com.emr.entity; + +import java.math.BigDecimal; + +public class Sign_List_Vo { + private String id; + /** + * 记帐号,master表中patient_id + */ + private String pid; + /** + * 创建时间(该条记录写入数据库的时间) + */ + private String createdtime; + /** + * 具体签收内容(分段名称)由扫描时提供,以逗号分隔 + */ + private String otherInfo; + + private String masterID; + /** + * 预留字段 + */ + private String detailID; + /** + * 签收时间 + */ + private String dTime; + /** + * 系统操作标识(1纸质签收 2扫描) + */ + private Integer sysFlag; + /** + * 签收人(当前用户) + */ + private String c1; + /** + * 送纸质病历者工号 + */ + private String c2; + /** + * 送纸质病历者所在科室 + */ + private String c3; + + private String c4; + + private String c5; + + private BigDecimal n1; + + private BigDecimal n2; + + private BigDecimal n3; + /** + * 纸质病历送达时间(可等同于签收时间) + */ + private String t1; + + private String t2; + + private String T3; + + private String isFullText; + /** + * 签收标识(1已签收 2未签收) + */ + private Integer isSign; + + + /** + * 住院号 + */ + private String inpNo; + /** + * 住院次数 + */ + private String visitId; + /** + * 患者姓名 + */ + private String name; + + /** + * 出院科室 + */ + private String deptName; + /** + * 出院时间 + */ + private String dischargeDateTime; + + /** + * 是否有纸质病历送病案室 + */ + private String isscaned; + + /** + * 签收次数 + */ + private String num; + + /** + * 签收开始日期 + */ + private String startSignDate; + /** + * 签收结束日期 + */ + private String endSignDate; + + public String getNum() { + return num; + } + + public void setNum(String num) { + this.num = num; + } + + public String getStartSignDate() { + return startSignDate; + } + + public void setStartSignDate(String startSignDate) { + this.startSignDate = startSignDate; + } + + public String getEndSignDate() { + return endSignDate; + } + + public void setEndSignDate(String endSignDate) { + this.endSignDate = endSignDate; + } + + public String getInpNo() { + return inpNo; + } + + public void setInpNo(String inpNo) { + this.inpNo = inpNo; + } + + public String getVisitId() { + return visitId; + } + + public void setVisitId(String visitId) { + this.visitId = visitId; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDischargeDateTime() { + return dischargeDateTime; + } + + public void setDischargeDateTime(String dischargeDateTime) { + this.dischargeDateTime = dischargeDateTime; + } + + public String getIsscaned() { + return isscaned; + } + + public void setIsscaned(String isscaned) { + this.isscaned = isscaned; + } + + public String getPid() { + return pid; + } + + public void setPid(String pid) { + this.pid = pid; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + + public String getCreatedtime() { + return createdtime; + } + + public void setCreatedtime(String createdtime) { + this.createdtime = createdtime; + } + + public String getOtherInfo() { + return otherInfo; + } + + public void setOtherInfo(String otherInfo) { + this.otherInfo = otherInfo; + } + + public String getMasterID() { + return masterID; + } + + public void setMasterID(String masterID) { + this.masterID = masterID; + } + + public String getDetailID() { + return detailID; + } + + public void setDetailID(String detailID) { + this.detailID = detailID; + } + + public String getdTime() { + return dTime; + } + + public void setdTime(String dTime) { + this.dTime = dTime; + } + + public Integer getSysFlag() { + return sysFlag; + } + + public void setSysFlag(Integer sysFlag) { + this.sysFlag = sysFlag; + } + + public String getC1() { + return c1; + } + + public void setC1(String c1) { + this.c1 = c1; + } + + public String getC2() { + return c2; + } + + public void setC2(String c2) { + this.c2 = c2; + } + + public String getC3() { + return c3; + } + + public void setC3(String c3) { + this.c3 = c3; + } + + public String getC4() { + return c4; + } + + public void setC4(String c4) { + this.c4 = c4; + } + + public String getC5() { + return c5; + } + + public void setC5(String c5) { + this.c5 = c5; + } + + public BigDecimal getN1() { + return n1; + } + + public void setN1(BigDecimal n1) { + this.n1 = n1; + } + + public BigDecimal getN2() { + return n2; + } + + public void setN2(BigDecimal n2) { + this.n2 = n2; + } + + public BigDecimal getN3() { + return n3; + } + + public void setN3(BigDecimal n3) { + this.n3 = n3; + } + + public String getT1() { + return t1; + } + + public void setT1(String t1) { + this.t1 = t1; + } + + public String getT2() { + return t2; + } + + public void setT2(String t2) { + this.t2 = t2; + } + + public String getT3() { + return T3; + } + + public void setT3(String t3) { + T3 = t3; + } + + public String getIsFullText() { + return isFullText; + } + + public void setIsFullText(String isFullText) { + this.isFullText = isFullText; + } + + public Integer getIsSign() { + return isSign; + } + + public void setIsSign(Integer isSign) { + this.isSign = isSign; + } +} + + diff --git a/src/main/java/com/emr/service/Archive_DetailService.java b/src/main/java/com/emr/service/Archive_DetailService.java index 98c7522c..5388c359 100644 --- a/src/main/java/com/emr/service/Archive_DetailService.java +++ b/src/main/java/com/emr/service/Archive_DetailService.java @@ -24,6 +24,22 @@ public interface Archive_DetailService { */ List selectByClo(Archive_Detail_Vo record); + /** + * 根据条件查询分段目录(查询新生儿记录) + * + * @param record + * @return + */ + Integer selectChildByClo(Archive_Detail_Vo record); + + /** + * 查询新生儿记录 + * + * @param record + * @return + */ + OffsetLimitPage selectChild(Archive_Detail_Vo record, Integer offset, Integer limit); + /** * 根据条件查询分段详情列表分页 * diff --git a/src/main/java/com/emr/service/Sign_ListService.java b/src/main/java/com/emr/service/Sign_ListService.java new file mode 100644 index 00000000..556bc7eb --- /dev/null +++ b/src/main/java/com/emr/service/Sign_ListService.java @@ -0,0 +1,65 @@ +/** + * Copyright (C), 2015-2019 + * Author: HJL + * Date: 2019/7/19 15:27 + * Description:患者住院信息主索引表 + */ +package com.emr.service; + +import com.emr.entity.*; + +import java.util.List; + +public interface Sign_ListService { + /** + * 根据id查询 + * @param id + * @return + */ + Sign_List selectSignListById(Integer id); + /** + * 根据字段查询Vo记录 + * @param + * @return + */ + OffsetLimitPage selectSignList(Sign_List_Vo signListVo, Integer offset, Integer limit); + + /** + * 根据字段查询记录 + * @param + * @return + */ + List selectSignListWith(Sign_List signList); + /** + * 根据条件查找病案在院列表分页 + * @param + * @return + */ + int insertSignList(Sign_List signList); + + /** + * 修改 + * @param + * @return + */ + int updateSignList(Sign_List signList); + + /** + * 删除 + * + * @param + * @return + */ + int deleteSignListById(Integer id); + + /** + * 删除 + * + * @param + * @return + */ + int deleteSignListByIds(String ids); + +} + + diff --git a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java index 7414b807..6311961a 100644 --- a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java @@ -7,6 +7,7 @@ package com.emr.service.ipml; import com.emr.dao.Archive_DetailMapper; +import com.emr.dao.Archive_MasterMapper; import com.emr.entity.Archive_Detail; import com.emr.entity.Archive_Detail_Vo; import com.emr.entity.Emr_Fault_Vo; @@ -31,6 +32,9 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { @Autowired private Archive_DetailMapper archiveDetailMapper; + @Autowired + private Archive_MasterMapper archiveMasterMapper; + @Override public List selectByClo(Archive_Detail_Vo record) { @@ -38,12 +42,40 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { } @Override - public OffsetLimitPage detailByClo(Archive_Detail_Vo record, Integer offset, Integer limit) { + public Integer selectChildByClo(Archive_Detail_Vo record) { + return archiveDetailMapper.selectChildByClo(record); + } + + @Override + public OffsetLimitPage selectChild(Archive_Detail_Vo record, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list = archiveDetailMapper.detailByClo(record); + List list = archiveDetailMapper.selectChild(record); + for(Archive_Detail_Vo returnList:list){ + //改变新生儿数据的title,新格式为title+inpNo + returnList=changeTitle(returnList); + } return new OffsetLimitPage((Page) list); } + @Override + public OffsetLimitPage detailByClo(Archive_Detail_Vo record, Integer offset, Integer limit) { + PageHelper.offsetPage(offset, limit); + //如果是进入新打开的页面,就把新生儿数据加上 + if((record.getAssortId()==null||"".equals(record.getAssortId()))&&(!"".equals(record.getPatientId())&&record.getPatientId()!=null)){ + List list1= archiveDetailMapper.detailWithChildByClo(record); + for(Archive_Detail_Vo returnList:list1){ + if(!record.getPatientId().equals(returnList.getMasterid())){ + //改变新生儿数据的title,新格式为title+inpNo + returnList=changeTitle(returnList); + } + } + return new OffsetLimitPage((Page) list1); + }else{ + List list = archiveDetailMapper.detailByClo(record); + return new OffsetLimitPage((Page) list); + } + } + @Override public List sourceByClo(Archive_Detail_Vo record) { return archiveDetailMapper.sourceByClo(record); @@ -176,6 +208,28 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { //删除缓存` ` ` session.removeAttribute("showRecord"); } + + public List getList(List record){ + List list =new ArrayList(); + for (Archive_Detail_Vo newrecord:record){ + List returnList = archiveDetailMapper.detailByClo(newrecord); + for (Archive_Detail_Vo newReturnList:returnList){ + list.add(newReturnList); + } + } + return list; + } + + public Archive_Detail_Vo changeTitle(Archive_Detail_Vo newList){ + //改变title,变成title+inpNo + if (archiveMasterMapper.selectById(newList.getMasterid()) != null) { + String inpNo = archiveMasterMapper.selectById(newList.getMasterid()).getInpNo(); + if (inpNo != null && !"".equals(inpNo)) { + newList.setTitle(newList.getTitle() +"_"+ inpNo); + } + } + return newList; + } } diff --git a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java index 1f750bdb..a0fc3513 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -155,7 +155,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { @Override public OffsetLimitPage selectByUnfile(Archive_Master_Vo archiveMasterVo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); - List list = archiveMasterMapper.selectByUnfile(archiveMasterVo); + List list = archiveMasterMapper.selectByUnfileNew(archiveMasterVo); JSONArray powerUsers = powerUserService.getPowerUserList("1"); List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); diff --git a/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java new file mode 100644 index 00000000..7232170b --- /dev/null +++ b/src/main/java/com/emr/service/ipml/Sign_ListServiceImpl.java @@ -0,0 +1,81 @@ +/** + * Copyright (C), 2015-2019 + * Author: HJL + * Date: 2019/7/19 15:39 + * Description:患者住院信息主索引管理 + */ +package com.emr.service.ipml; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.emr.dao.Archive_MasterMapper; +import com.emr.dao.Sign_ListMapper; +import com.emr.entity.*; +import com.emr.service.Archive_MasterService; +import com.emr.service.Emr_DictionaryService; +import com.emr.service.PowerUserService; +import com.emr.service.Sign_ListService; +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.List; +import java.util.Map; + +@Service +public class Sign_ListServiceImpl implements Sign_ListService { + + @Autowired + private Sign_ListMapper signListMapper; + + @Autowired + private Emr_DictionaryService emrDictionaryService; + + @Autowired + private PowerUserService powerUserService; + + @Override + public OffsetLimitPage selectSignList(Sign_List_Vo signListVo, Integer offset, Integer limit) { + PageHelper.offsetPage(offset, limit); + List list =signListMapper.selectSignList(signListVo); + return new OffsetLimitPage((Page) list); + } + + @Override + public List selectSignListWith(Sign_List signList) { + return signListMapper.selectSignListWith(signList); + } + + @Override + public Sign_List selectSignListById(Integer id) { + return signListMapper.selectSignListById(id); + } + + @Override + public int insertSignList(Sign_List signList) { + return signListMapper.insertSignList(signList); + } + + @Override + public int updateSignList(Sign_List signList) { + return signListMapper.updateSignList(signList); + } + + @Override + public int deleteSignListById(Integer id) { + return signListMapper.deleteSignListById(id); + } + + @Override + public int deleteSignListByIds(String ids) { + return signListMapper.deleteSignListByIds(ids); + } + + + +} + + diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index b95dd035..28337a82 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -41,10 +41,50 @@ + + + id, PDF_PATH, MasterID, UpLoadDateTime, AssortID, Source, SubAssort, Title, flag, Sys,page_number,recover_pdf_path + + + + + + + + + select + DISTINCT m.id, s.pid,s.createdtime, s.otherInfo, s.masterID, s.detailID, s.dTime,s.sysFlag, s.C1, s.C2, s.C3, s.C4, s.C5, s.N1, s.N2, s.N3, s.T1, + s.T2,s.T3,s.IsFullText,m.inp_no,m.visit_id,m.name,d.name as deptName,m.discharge_date_time,m.isscaned,(select COUNT(*) from archive_other where archive_other.pid=s.pid)as num + from archive_other s + left join archive_master m + on s.masterID=m.id + LEFT JOIN emr_dictionary d + on m.dept_admission_to=d.code + where s.id in( + (select top 1 id from archive_other a where a.pid=s.pid and a.masterID=s.masterID ORDER BY createdtime desc) + ) + and s.ID = #{id} + and s.pid = #{pid} + + + and s.createdtime between CONVERT(VARCHAR(10),#{startSignDate,jdbcType=NCHAR},120) and + #{endSignDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and s.createdtime >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and s.createdtime <= #{endSignDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and s.otherInfo = #{otherInfo} + and s.masterID = #{masterID} + and s.detailID = #{detailID} + and s.dTime = #{dTime} + and s.sysFlag = #{sysFlag} + and s.C1 = #{c1} + and s.C2 = #{c2} + and s.C3 = #{c3} + and s.C4 = #{c4} + and s.C5 = #{c5} + and s.N1 = #{n1} + and s.N2 = #{n2} + and s.N3 = #{n3} + and s.T1 = #{t1} + and s.T2 = #{t2} + and s.T3 = #{t3} + and s.IsFullText = #{isFullText} + and m.inp_no = #{inpNo} + and m.visit_id = #{visitId} + and m.name like '%'+#{name}+'%' + ORDER BY s.dTime desc + + + + + + + + insert into archive_other + + ID, + pid, + createdtime, + otherInfo, + masterID, + detailID, + dTime, + sysFlag, + C1, + C2, + C3, + C4, + C5, + N1, + N2, + N3, + T1, + T2 + T3, + IsFullText, + + + #{id}, + #{pid}, + #{createdtime}, + #{otherInfo}, + #{masterID}, + #{detailID}, + #{dTime}, + #{sysFlag}, + #{c1}, + #{c2}, + #{c3}, + #{c4}, + #{c5}, + #{n1}, + #{n2}, + #{n3}, + #{t1}, + #{t2}, + #{t3}, + #{isFullText}, + #{isSign}, + + + + + update archive_other + + pid = #{pid}, + createdtime = #{createdtime}, + otherInfo = #{otherInfo}, + masterID = #{masterID}, + detailID = #{detailID}, + dTime = #{dTime}, + sysFlag = #{sysFlag}, + C1 = #{c1}, + C2 = #{c2}, + C3 = #{c3}, + C4 = #{c4}, + C5 = #{c5}, + N1 = #{n1}, + N2 = #{n2}, + N3 = #{n3}, + T1 = #{t1}, + T2 = #{t2}, + T3 = #{t3}, + IsFullText = #{isFullText}, + + where ID = #{id} + + + + delete from archive_other where ID = #{id} + + + + delete from archive_other where ID in + + #{id} + + + + + diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp new file mode 100644 index 00000000..23e5f503 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -0,0 +1,4641 @@ + +<%@ page contentType="text/html;charset=UTF-8" language="java" import="java.util.*" %> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + +<% + ResourceBundle res = ResourceBundle.getBundle("config.jdbc"); +%> + + + 病案室终审 + + + + + + + <%@include file="../../jspf/comm.jspf" %> + <%@include file="../../jspf/ztreeCommom.jsp" %> + + + + + + +
+
+ +
+
+ <%----%> +
+ + +
+
+ + +
+ <%--
--%> + <%----%> + <%----%> + <%--
--%> + +
+ + +
+
+ +
+ + - + +
+
+ <%--
--%> + <%----%> + <%----%> + <%--
--%> + + + +
+
+ +
+
+
+
+ +
+ +
+
+
+ + +<%----%> + + + + +<%--时间轴弹窗--%> + + + + +<%--多图片框--%> + +<%--发大弹窗--%> + +<%--确认框--%> + + + +<%--退回弹窗--%> + + +<%--审核弹窗--%> + + + + +<%--缺陷窗口--%> + + + + + + +<%--初审核弹窗--%> + + +<%--确认框--%> + + +<%--确认框--%> + + +<%--删除pdf某页弹窗--%> + + +<%--删除pdf某页确认框--%> + + +<%--确认框提示清空所有图片--%> + + +<%--多图片框删除页--%> + + + +<%--签收弹窗--%> + + +<%--没签收是否强制提交弹窗--%> + + + + + + + + \ No newline at end of file