diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 24cae7dc..03cb35c6 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -8,6 +8,7 @@ package com.emr.controller; import com.emr.entity.*; import com.emr.service.*; +import com.emr.util.IDHelper; import com.emr.util.ThreadExcelUtils; import org.apache.cxf.endpoint.Client; import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory; @@ -43,6 +44,9 @@ public class beHospitaledController { @Autowired private Emr_Staff_RemarkService emrStaffRemarkService; + @Autowired + private Sign_ListService signListService; + @Autowired(required = false) private Archive_Master_FollowingService archive_master_followingService; @@ -51,6 +55,12 @@ public class beHospitaledController { @Value("${HomepageMethod}") private String HomepageMethod; + @Value("${powerTokenUrl}") + private String powerTokenUrl; + + @Autowired + private com.emr.webservice.MedicalRecordSSO.HomepageDictionary homepageDictionary; + @RequestMapping(value = "/beHosps") public String inHospitals(Model model) { //return "beHospitaledDir/beHospListNow"; @@ -119,68 +129,83 @@ public class beHospitaledController { 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]; - //给方法传递参数,并且调用方法 - //System.out.println("result is " + result); - } catch (Exception e) { - System.err.println(e.toString()); - return "连接不到完整性接口!"; + Emr_Fault_Detail entityFault=new Emr_Fault_Detail(); + entityFault.setArchiveDetailId(emrFaultDetail.getArchiveDetailId()); + List faultList=emrFaultDetailService.selectByArchiveId(entityFault); + int flagNum=0; + if(faultList!=null && faultList.size()>0){ + //获取未处理缺陷数量 + for (int k = 0; k < faultList.size(); k++) { + if ("1".equals(faultList.get(k).getBackFlag()) || "5".equals(faultList.get(k).getBackFlag())) { + flagNum+=1; + } + } } - 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); + if(flagNum==0) { + 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 "连接不到完整性接口!"; + } + 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); + + //初审成功日志 + 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); + } + } else { + //修改病案归档完整内容Lockinfo + Archive_Master archiveMaster = new Archive_Master(); emrFaultDetail.setCreater(username); emrFaultDetail.setCreateTime(nowTime); - emrFaultDetail.setState("未召回"); - 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("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); + archiveMaster.setFirstInstance(username); + //archiveMaster.setArchivestate(emrFaultDetail.getState()); + archiveMaster.setId(emrFaultDetail.getArchiveDetailId()); + archiveMaster.setLockinfo("强制提交," + result); + archiveMaster.setCmtDoctor(1); + archiveMaster.setCmtNurse(1); + archiveMasterService.updateByClo(archiveMaster); } }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); + result = "提交失败,存在缺陷未处理!"; } - return result; } @@ -246,7 +271,7 @@ public class beHospitaledController { @Transactional @ResponseBody @RequestMapping(value = "/cmtDoctorOrNurs") - public String cmtDoctorOrNurs(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) { + public String cmtDoctorOrNurs(HttpServletRequest request, HttpServletResponse response, Archive_Master_Vo archiveMasterVo) throws Exception { response.setCharacterEncoding("utf-8"); // 从session获取用户名 Subject currentUser = SecurityUtils.getSubject(); @@ -330,6 +355,7 @@ public class beHospitaledController { archive_master_following.setHandleId(username); archive_master_following.setHandleName(handleName); bol = archive_master_followingService.insertSelective(archive_master_following); + addArchiveOther(archiveMasterVo); }else{ result = "医生提交失败,存在缺陷未处理!"; } @@ -482,6 +508,8 @@ public class beHospitaledController { result="归档护士撤回成功!"; } archiveMaster.setIsscaned(archiveMasterVo.getIsscaned()); + //撤回后,状态改为0 + archiveMaster.setIsscaned("0"); bol=archiveMasterService.updateByClo(archiveMaster); if (bol!=1){ if (archiveMasterVo.getCmtDoctor()==0){ @@ -499,6 +527,30 @@ public class beHospitaledController { } return result; } + + public void addArchiveOther(Archive_Master_Vo archiveMasterVo) throws Exception { + 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())); + signListService.insertSignList(signList); + } + } } diff --git a/src/main/java/com/emr/controller/signListController.java b/src/main/java/com/emr/controller/signListController.java index ce12c976..e5a1f487 100644 --- a/src/main/java/com/emr/controller/signListController.java +++ b/src/main/java/com/emr/controller/signListController.java @@ -6,6 +6,8 @@ */ package com.emr.controller; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.emr.dao.Archive_MasterMapper; import com.emr.entity.*; import com.emr.service.*; @@ -59,6 +61,9 @@ public class signListController { @Autowired private Emr_Fault_TypeService emrFaultTypeService; + @Autowired + private PowerUserService powerUserService; + @Autowired private Emr_Fault_DetailService emrFaultDetailService; @@ -88,82 +93,6 @@ public class signListController { 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 @@ -175,10 +104,23 @@ public class signListController { 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){ + if(master!=null&&master.size()>0&&"1".equals(master.get(0).getIsscaned())){ + //判断master表里纸质病历已经提交,且有医生提交记录,则取医生数据作为提交人,否则护士为提交人 + signList.setC2("".equals(master.get(0).getDoctorName())&&master.get(0).getDoctorName()!=null?master.get(0).getDoctorName():master.get(0).getNurseName()); + //送纸质病历者所在科室 + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList= JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); + ln:for (JSONObject jsonObjectNew : powerUserList) { + if(jsonObjectNew.getString("userName").equals(signList.getC2())){ + signList.setC3(jsonObjectNew.getString("deptId")); + break ln; + } + } + //signList.setC3() 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")); @@ -193,6 +135,8 @@ public class signListController { signList.setT1(sdf.format(new Date())); int z=signListService.insertSignList(signList); result="签收成功"; + }else{ + result="医生或护士未在系统操作提交纸质病历"; } //OffsetLimitPage result = archiveMasterService.selectByLast(archiveMasterVo); return result; diff --git a/src/main/java/com/emr/entity/Emr_Fault_Vo.java b/src/main/java/com/emr/entity/Emr_Fault_Vo.java index 82379f38..f89a4b59 100644 --- a/src/main/java/com/emr/entity/Emr_Fault_Vo.java +++ b/src/main/java/com/emr/entity/Emr_Fault_Vo.java @@ -92,6 +92,16 @@ public class Emr_Fault_Vo { private BigDecimal minusPoint; + private String backTime; + + public String getBackTime() { + return backTime; + } + + public void setBackTime(String backTime) { + this.backTime = backTime; + } + public BigDecimal getMinusPoint() { return minusPoint; } diff --git a/src/main/java/com/emr/entity/V_Count.java b/src/main/java/com/emr/entity/V_Count.java index e46b1122..dbf3a695 100644 --- a/src/main/java/com/emr/entity/V_Count.java +++ b/src/main/java/com/emr/entity/V_Count.java @@ -33,6 +33,81 @@ public class V_Count { private String endDate; + private String overdueDays; + + //2021-06-028新增 + private String overdue;//超期天数 + + //迟交合计 + private Integer timeOutNum; + + //出院合计 + private Integer isOutNum ; + + //及时合计 + private Integer inTime; + + //迟交率 + private String timeOutRate ; + + //及时率合计 + private String inTimeRate; + + public Integer getIsOutNum() { + return isOutNum; + } + + public void setIsOutNum(Integer isOutNum) { + this.isOutNum = isOutNum; + } + + public Integer getInTime() { + return inTime; + } + + public void setInTime(Integer inTime) { + this.inTime = inTime; + } + + public String getTimeOutRate() { + return timeOutRate; + } + + public void setTimeOutRate(String timeOutRate) { + this.timeOutRate = timeOutRate; + } + + public String getInTimeRate() { + return inTimeRate; + } + + public void setInTimeRate(String inTimeRate) { + this.inTimeRate = inTimeRate; + } + + public Integer getTimeOutNum() { + return timeOutNum; + } + + public void setTimeOutNum(Integer timeOutNum) { + this.timeOutNum = timeOutNum; + } + + public String getOverdue() { + return overdue; + } + + public void setOverdue(String overdue) { + this.overdue = overdue; + } + + public String getOverdueDays() { + return overdueDays; + } + + public void setOverdueDays(String overdueDays) { + this.overdueDays = overdueDays; + } public String getDeptCode() { return deptCode; diff --git a/src/main/java/com/emr/service/ipml/LogServiceImpl.java b/src/main/java/com/emr/service/ipml/LogServiceImpl.java index b10c84b1..d902a116 100644 --- a/src/main/java/com/emr/service/ipml/LogServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/LogServiceImpl.java @@ -1,23 +1,33 @@ package com.emr.service.ipml; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.emr.dao.Emr_LogMapper; import com.emr.entity.Emr_Log; import com.emr.entity.Emr_Log_Vo; import com.emr.entity.OffsetLimitPage; import com.emr.service.LogService; +import com.emr.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 org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; @Service @Transactional public class LogServiceImpl implements LogService { @Autowired private Emr_LogMapper logMapper; + + @Autowired + private PowerUserService powerUserService; + @Override public int insert(Emr_Log log) { return logMapper.insert(log); @@ -37,6 +47,27 @@ public class LogServiceImpl implements LogService { public OffsetLimitPage selectByCol(Emr_Log_Vo emr_log_vo, Integer offset, Integer limit) { PageHelper.offsetPage(offset, limit); List newsInfoList = logMapper.selectByCol(emr_log_vo); + + JSONArray powerUsers = powerUserService.getPowerUserList("1"); + List powerUserList = JSONArray.parseArray(powerUsers.toJSONString(), JSONObject.class); + if (powerUserList != null){ + Map mappedMovies = Maps.uniqueIndex(powerUserList, new Function() { + @Override + public String apply(JSONObject temp) { + return temp.getString("userName"); + }}); + + for (Emr_Log_Vo emrLogVo : newsInfoList) { + JSONObject userInfo = mappedMovies.get(emrLogVo.getCreater()); + if (userInfo==null){ + emrLogVo.setCreater(emrLogVo.getCreater()); + }else { + emrLogVo.setCreater(userInfo.getString("name")); + } + } + + } + return new OffsetLimitPage((Page) newsInfoList); } diff --git a/src/main/java/com/emr/util/test.java b/src/main/java/com/emr/util/test.java index 0c9a1d52..21c0cf27 100644 --- a/src/main/java/com/emr/util/test.java +++ b/src/main/java/com/emr/util/test.java @@ -164,6 +164,8 @@ public class test { System.out.println(p2);*/ } + public void test() { + } } diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index 28337a82..7708c137 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -52,11 +52,12 @@ select sum(s.pageNum) pageNum from (select count(*) pageNum from archive_detail - where MasterID in (select id from archive_master where inp_no like( + where MasterID in (select id from archive_master where inp_no LIKE '%'+( select inp_no from archive_master where 1=1 and id=#{patientId,jdbcType=VARCHAR} - ) + )+'%' + and patindex('%B%',inp_no) != 0 and id!=#{patientId,jdbcType=VARCHAR} ) @@ -73,11 +74,12 @@ from archive_detail - where MasterID in (select id from archive_master where inp_no like( + where MasterID in (select id from archive_master where inp_no like '%'+( select inp_no from archive_master where 1=1 and id=#{patientId,jdbcType=VARCHAR} - ) + )+'%' + and patindex('%B%',inp_no) != 0 and id!=#{patientId,jdbcType=VARCHAR} ) @@ -159,22 +161,28 @@ on m.archive_detail_id=f.id where 1=1 and m.back_flag= 3 - and f.id in (select id from archive_master where inp_no like( + and f.id in (select id from archive_master where inp_no like '%'+( select inp_no from archive_master where 1=1 and id=#{patientId,jdbcType=VARCHAR} - ) + )+'%' + and patindex('%B%',inp_no) != 0 + union + select id from archive_master where id=#{patientId,jdbcType=VARCHAR} ) ) s on s.id=t.MasterID where 1=1 - and t.MasterID in (select id from archive_master where inp_no like( + and t.MasterID in (select id from archive_master where inp_no like '%'+( select inp_no from archive_master where 1=1 and id=#{patientId,jdbcType=VARCHAR} - ) + )+'%' + and patindex('%B%',inp_no) != 0 + union + select id from archive_master where id=#{patientId,jdbcType=VARCHAR} ) diff --git a/src/main/resources/mapper/Archive_MasterMapper.xml b/src/main/resources/mapper/Archive_MasterMapper.xml index 6f91ac1b..f5fb3eb2 100644 --- a/src/main/resources/mapper/Archive_MasterMapper.xml +++ b/src/main/resources/mapper/Archive_MasterMapper.xml @@ -150,7 +150,7 @@ + + left join (select dept_name,COUNT(*) AS inNum from archive_master as s where s.ArchiveState in('在院') + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t on c.dept_name= t.dept_name + left join (select dept_name,COUNT(*) AS isOutNum from archive_master as s where s.ArchiveState!='在院' + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t1 on c.dept_name= t1.dept_name + + + left join ( + SELECT a.dept_name,ISNULL(timeOutNum, 0) timeOutNum FROM archive_master AS a LEFT JOIN ( + select s.dept_name as dept_name,COUNT(*) AS timeOutNum from archive_master as s + LEFT JOIN(select master_id archive_detail_id,handle_time create_time,handle_name first_instance from ( + select ROW_NUMBER() over(partition by master_id order by handle_time asc) RowNum + ,Archive_Master_Following.* + from Archive_Master_Following where 1=1 and following_type ='5' ) as t1 where 1=1 and RowNum = 1 + ) d + on s.id=d.archive_detail_id + where s.ArchiveState!='在院' + + and convert(int,[dbo].[getWorkday](s.discharge_date_time,d.create_time))-convert(int,#{overdueDays,jdbcType=INTEGER})>0 + + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) group by dept_name + ) x ON a.dept_name = x.dept_name + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + ) as n1 on c.dept_name= n1.dept_name + + left join (select dept_name,COUNT(*) AS fileNum from archive_master as s where s.ArchiveState in('已归档','已认证') + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t2 on c.dept_name= t2.dept_name + left join (select dept_name,COUNT(*) AS unfileNum from archive_master as s where s.ArchiveState not in('已归档','已认证') + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t3 on c.dept_name= t3.dept_name + left join (select dept_name,COUNT(*) AS deathNum from archive_master as s where s.DISCHARGE_DISPOSITION=5 + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t4 on c.dept_name= t4.dept_name + left join (select dept_name,COUNT(*) AS Num from archive_master as s where s.ArchiveState in('已归档','已认证') and datediff(d,discharge_date_time,getdate())<=2 + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t5 on c.dept_name= t5.dept_name + left join (select dept_name,COUNT(*) AS Num from archive_master as s where s.ArchiveState in('已归档','已认证') and datediff(d,discharge_date_time,getdate())<=3 + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + group by dept_name) as t6 on c.dept_name= t6.dept_name + left join (select dept_name,COUNT(*) AS Num from archive_master as s where s.ArchiveState in('已归档','已认证') and datediff(d,discharge_date_time,getdate())<=7 + and not (datepart(weekday,discharge_date_time)=1 or datepart(weekday,discharge_date_time)=7) + + + and discharge_date_time between CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) and + #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + and discharge_date_time >= CONVERT(VARCHAR(10),#{startDate,jdbcType=NCHAR},120) + + + and discharge_date_time <= #{endDate,jdbcType=NCHAR}+ ' 23:59:59' + + + 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 + + + + + and deptCode in + + #{item} + + + + + and deptName in + + #{item} + + and deptName is not null + + + + + + - - + <!––> + <!–and deptCode = #{deptCode,jdbcType=NVARCHAR}–> + <!––> and deptCode in @@ -178,10 +368,10 @@ and deptName is not null - - - - + <!––> + <!–and deptName = #{deptName,jdbcType=NVARCHAR}–> + <!––> + --> @@ -2245,7 +2246,9 @@ if (result == "完整") { $("#table").bootstrapTable("refresh"); toastr.success("初审操作成功!"); - } else { + } else if(result == "提交失败,存在缺陷未处理!"){ + toastr.warning(result); + }else { $("#WzRsult").html(result); $('#WZModal').modal({ backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 @@ -2965,7 +2968,11 @@ title: '处理时间', //width: 80 - }, { + },/*{ + field: 'backTime', + title: '病案室退回时间', + //width: 150 + }, */{ field: 'content', title: '内容', //width: 200 @@ -4969,6 +4976,18 @@ } }); + $("#selQXDoctorBtn").click(function () { + var id = $("#archiveId").val(); + backFlagVal=3; + $("#archIdQX").val(id); + $('#tableQX').bootstrapTable('refresh'); + $('#QXInfoModal').modal({ + backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 + keyboard: true,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。 + show: true//弹出对话框 + }); + }); + //展开 function expandAll() { var treeObj = $.fn.zTree.getZTreeObj("ztree"); diff --git a/src/main/webapp/WEB-INF/views/faultDir/faultList.jsp b/src/main/webapp/WEB-INF/views/faultDir/faultList.jsp index 9fe494c6..adec92af 100644 --- a/src/main/webapp/WEB-INF/views/faultDir/faultList.jsp +++ b/src/main/webapp/WEB-INF/views/faultDir/faultList.jsp @@ -104,10 +104,18 @@
- + +<%-- --%>
+ <%----%>
@@ -595,6 +603,26 @@ function getHeight() { return $(window).height() - 100; } + function getUserList() { + //获取role为病案室、病案室管理的用户 + $.ajax({ + url:"${path}/getPowerUserList", + type:"GET", + data:{"type":1}, + success:function (data) { + if (data != null) { + for (var i = 0; i < data.length; i++) { + $("#doctorInCharge").append(""); + // $("#creater").append(""); + } + } + $(".selectpicker").selectpicker('refresh'); + } + }) + } + + getUserList() + $(function () { //日期控件 diff --git a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp index ab0fe5c8..ee119284 100644 --- a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp +++ b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp @@ -480,19 +480,6 @@ - -
- - -
-
- -
- - - - -
-
只显示作废
+ @@ -2902,7 +2891,11 @@ title: '处理时间', //width: 80 - }, { + },/*{ + field: 'backTime', + title: '病案室退回时间', + //width: 150 + }, */{ field: 'content', title: '内容', //width: 200 @@ -3062,7 +3055,7 @@ isscaned: $("#isscaned").val(), isScanning: $("#isScanning").val(), - signer: "" + $("#signer").val(), + /*signer: "" + $("#signer").val(),*/ startSignDate: $("#startSignDate").val(), endSignDate: $("#endSignDate").val(), isSign: $("#isSign").val() @@ -3592,9 +3585,9 @@ if (index.indexOf("signFlg") != -1) { if(row.isSign==0 && row.isscaned==1){ //签收显示取消签收 - html += ''; + html += ''; }else if(row.isSign==1 && row.isscaned==1){ - html += ''; + html += ''; } } @@ -3734,6 +3727,7 @@ $("#deptToLab").html(row.deptAdmissionTo); $("#outHospLab").html(row.dischargeDisposition); $("#inLab").html(row.inpNo); + $("#patientId").html(row.patientId); $("#inTimeLab").html(row.visitId); //$("#wzContent").html(row.lockinfo); @@ -4384,6 +4378,12 @@ } }); + //点击跳转至平台统一视图 + $("#viewBtn").click(function () { + debugger; + var patientId=$("#patientId").html() ; + window.location.href="http://10.6.0.158:8089/hdrciv/civ/jsp/categoryView/categoryView.jsp/rpc?username=00000&patient_id="+patientId; + }); //获取table的高度 function getHeight() { @@ -4434,7 +4434,7 @@ var isScanning= $("#isScanning").val(); var isSign = $("#isSign").val(); var isscaned = $("#isscaned").val(); - var signer = $("#signer").val(); + //var signer = $("#signer").val(); var startSignDate = $("#startSignDate").val(); var endSignDate = $("#endSignDate").val(); window.location.href = "${path}/lastVerify/exportExcel?inpNo=" + inpNo + "&visitId=" + visitId + diff --git a/src/main/webapp/WEB-INF/views/medicalOverdueDir/medicalOverdueList.jsp b/src/main/webapp/WEB-INF/views/medicalOverdueDir/medicalOverdueList.jsp index 385898db..654819d5 100644 --- a/src/main/webapp/WEB-INF/views/medicalOverdueDir/medicalOverdueList.jsp +++ b/src/main/webapp/WEB-INF/views/medicalOverdueDir/medicalOverdueList.jsp @@ -1882,7 +1882,7 @@ formatter: function (value, row, index) { var result = ""; if (value != null && value != "") { - result = value.substring(0, 10); + result = value.substring(0, 19); } return result; } @@ -1895,7 +1895,7 @@ formatter: function (value, row, index) { var result = ""; if (value != null && value != "") { - result = value.substring(0, 10); + result = value.substring(0, 19); } return result; } diff --git a/src/main/webapp/WEB-INF/views/pdfDir/pdfDir.jsp b/src/main/webapp/WEB-INF/views/pdfDir/pdfDir.jsp index c0e2701f..623d0538 100644 --- a/src/main/webapp/WEB-INF/views/pdfDir/pdfDir.jsp +++ b/src/main/webapp/WEB-INF/views/pdfDir/pdfDir.jsp @@ -1179,7 +1179,9 @@ if (result == "完整") { $("#table").bootstrapTable("refresh"); toastr.success("初审操作成功!"); - } else { + } else if(result == "提交失败,存在缺陷未处理!"){ + toastr.warning(result); + }else { $("#WzRsult").html(result); $('#WZModal').modal({ backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。 diff --git a/src/main/webapp/WEB-INF/views/pdfDir/pdfLastDir.jsp b/src/main/webapp/WEB-INF/views/pdfDir/pdfLastDir.jsp index bdee97ef..af025264 100644 --- a/src/main/webapp/WEB-INF/views/pdfDir/pdfLastDir.jsp +++ b/src/main/webapp/WEB-INF/views/pdfDir/pdfLastDir.jsp @@ -285,10 +285,27 @@
- 内容: - -
+ 内容: + + <%--
+ 请选择电子病历可修改部分: +
+
+ +
+
+ +
+
+ +
+
+ +
--%> @@ -1167,6 +1184,12 @@ data.backContent = $("#backContentLast").val(); data.state = "复审退回"; data.backFlag = 4; + // data.checkID = [];//定义一个空数组 + // $("input[name='box']:checked").each(function(i){//把所有被选中的复选框的值存入数组 + // data.checkID[i] =$(this).val(); + // console.log(data.checkID); + // }) + // debugger //根据病案号保存缺陷信息 $.ajax({ url: "${path}/lastVerify/updateDetailByArchivId", diff --git a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp index 23e5f503..7d485b88 100644 --- a/src/main/webapp/WEB-INF/views/signListDir/signList.jsp +++ b/src/main/webapp/WEB-INF/views/signListDir/signList.jsp @@ -2839,7 +2839,11 @@ title: '处理时间', //width: 80 - }, { + },/*{ + field: 'backTime', + title: '病案室退回时间', + //width: 150 + },*/ { field: 'content', title: '内容', //width: 200 diff --git a/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp b/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp index 5a8f9c46..b9010f47 100644 --- a/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp +++ b/src/main/webapp/WEB-INF/views/unfileMedicalDir/unfileMedicalList.jsp @@ -2731,7 +2731,11 @@ title: '处理时间', //width: 80 - }, { + }, /*{ + field: 'backTime', + title: '病案室退回时间', + //width: 150 + },*/{ field: 'content', title: '内容', //width: 200 diff --git a/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp b/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp index 572f3f17..895ac196 100644 --- a/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp +++ b/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp @@ -98,7 +98,11 @@ - +
+ + + +
@@ -821,7 +825,7 @@ undefinedText: '--', //当数据为 undefined 时显示的字符 singleSelect: false,//设置True 将禁止多选 clickToSelect: true,//设置true 将在点击行时,自动选择rediobox 和 checkbox - height: 560, //定义表格的高度。 + //height: 560, //定义表格的高度。 searchTimeOut: 500,// 默认500 设置搜索超时时间。 toolbarAlign: 'right',// 指定 toolbar 水平方向的位置。'left' 或 'right' paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。 @@ -870,6 +874,7 @@ deptCode: deptName.toString(), startDate: $("#startDate").val(), endDate: $("#endDate").val(), + overdueDays: $("#overdueDays").val() }; return temp; @@ -882,7 +887,7 @@ checkbox: true, width: 25, align: 'center', - valign: 'middle', + valign: 'middle' }, { @@ -915,85 +920,51 @@ // valign: 'middle', // }, { - title: '出院人数', - field: 'outNum', + title: '出院合计', + field: 'isOutNum', align: 'center', valign: 'middle', }, { - title: '已归档', - field: 'fileNum', + title: '迟交合计', + field: 'timeOutNum', align: 'center', valign: 'middle', }, { - title: '未归档', - field: 'unfileNum', - align: 'center', - valign: 'middle', - }, - { - title: '死亡人数', - field: 'deathNum', - align: 'center', - valign: 'middle', - }, - { - title: '归档率%', - field: 'fileRate', + title: '迟交率', + field: 'timeOutRate', align: 'center', valign: 'middle', formatter: function (value, row, index) { var val; - if (row.fileRate != null && row.fileRate != '') { - val = (row.fileRate * 100) + "%"; + if (row.timeOutRate != null && row.timeOutRate != '') { + val = (row.timeOutRate * 100) + "%"; } return val; } }, { - title: '2日归档率%', - field: 'day2Rate', + title: '及时合计', + field: 'inTime', align: 'center', valign: 'middle', - formatter: function (value, row, index) { - var val; - if (row.day2Rate != null && row.day2Rate != '') { - val = (row.day2Rate * 100) + "%"; - } - - return val; - } }, { - title: '3日归档率%', - field: 'day3Rate', + title: '及时率', + field: 'inTimeRate', align: 'center', valign: 'middle', formatter: function (value, row, index) { var val; - if (row.day3Rate != null && row.day3Rate != '') { - val = (row.day3Rate * 100) + "%"; + if (row.inTimeRate != null && row.inTimeRate != '') { + val = (row.inTimeRate * 100) + "%"; } return val; } }, - { - title: '7日归档率%', - field: 'day7Rate', - align: 'center', - valign: 'middle', - formatter: function (value, row, index) { - var val; - if (row.day7Rate != null && row.day7Rate != '') { - val = (row.fileRate * 100) + "%"; - } - - return val; - } - } ], onLoadSuccess: function (result) { //加载成功时执行 //console.info("加载成功");