diff --git a/src/main/java/com/emr/controller/RecordController.java b/src/main/java/com/emr/controller/RecordController.java index 6d11430..ab2cfae 100644 --- a/src/main/java/com/emr/controller/RecordController.java +++ b/src/main/java/com/emr/controller/RecordController.java @@ -14,6 +14,7 @@ import com.github.pagehelper.PageHelper; import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -34,7 +35,9 @@ public class RecordController { * @return */ @RequestMapping("submitRecord") - public String submitRecord(){ + public String submitRecord(Model model, String startDateTo, String endDateTo){ + model.addAttribute("startDate",startDateTo); + model.addAttribute("endDate",endDateTo); return "record/submitRecord"; } @@ -67,7 +70,7 @@ public class RecordController { } } offsetLimitPage.setRows(list); - request.getSession().removeAttribute("unSubmitRecords"); + //request.getSession().removeAttribute("unSubmitRecords"); return offsetLimitPage; } @@ -122,7 +125,9 @@ public class RecordController { * @return */ @RequestMapping("deptOverTimeInfo") - public String deptOverTimeInfo(){ + public String deptOverTimeInfo(Model model, String startDateTo, String endDateTo){ + model.addAttribute("startDate",startDateTo); + model.addAttribute("endDate",endDateTo); return "record/deptOverTimeInfo"; } diff --git a/src/main/java/com/emr/controller/StatisticsController.java b/src/main/java/com/emr/controller/StatisticsController.java index d4fcf63..8442314 100644 --- a/src/main/java/com/emr/controller/StatisticsController.java +++ b/src/main/java/com/emr/controller/StatisticsController.java @@ -76,7 +76,9 @@ public class StatisticsController { //扫描上传记录报表 @RequestMapping("scanCount") - public String scanCount(){ + public String scanCount(Model model,String startDateTo,String endDateTo){ + model.addAttribute("startDate",startDateTo); + model.addAttribute("endDate",endDateTo); return "statistics/scanCount"; } diff --git a/src/main/java/com/emr/controller/VCountController.java b/src/main/java/com/emr/controller/VCountController.java index 3baeb2d..9fc10b2 100644 --- a/src/main/java/com/emr/controller/VCountController.java +++ b/src/main/java/com/emr/controller/VCountController.java @@ -42,7 +42,9 @@ public class VCountController { private Archive_MasterMapper archiveMasterMapper; @RequestMapping(value = "/vCounts") - public String faults(){ + public String faults(Model model,String startDateTo,String endDateTo){ + model.addAttribute("startDate",startDateTo); + model.addAttribute("endDate",endDateTo); return "vCountDir/vCountList"; } diff --git a/src/main/java/com/emr/controller/WorkHomeController.java b/src/main/java/com/emr/controller/WorkHomeController.java new file mode 100644 index 0000000..2ffacf2 --- /dev/null +++ b/src/main/java/com/emr/controller/WorkHomeController.java @@ -0,0 +1,211 @@ +package com.emr.controller; + +import com.emr.dao.ServerMachineMapper; +import com.emr.entity.Archive_Master_Vo; +import com.emr.entity.OffsetLimitPage; +import com.emr.service.ipml.RecordService; +import com.emr.service.ipml.WorkHomeService; +import com.emr.util.ExceptionPrintUtil; +import com.emr.util.ExportExcelUtil; +import com.emr.vo.NotSubmitRecordVo; +import com.emr.vo.RecordSearch; +import com.emr.vo.ServerMachineVo; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Map; + + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/23 13:23 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/23 13:23 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Controller +@RequestMapping("workHome") +public class WorkHomeController { + @Autowired + private WorkHomeService workHomeService; + @Autowired + private RecordService recordService; + @Autowired + private ServerMachineMapper serverMachineMapper; + /** + * 工作看板 + * @return + */ + @RequestMapping("workHomeList") + public String workHomeList(){ + return "workHome/workHomeList"; + } + + /** + * 工作看板内容 + * @return + */ + @RequestMapping("workHomeIframe") + public String workHomeIframe(){ + return "workHome/workHomeIframe"; + } + + /** + * 病案数据 + * @return + */ + @RequestMapping("recordData") + public String recordData(){ + return "workHome/recordData"; + } + + /** + * 病案数据第一层表格 + * @return + */ + @RequestMapping("recordDataOneTable") + @ResponseBody + public OffsetLimitPage recordDataOneTable(String startDateTo,String endDateTo) throws Exception{ + return workHomeService.recordDateOneTable(startDateTo,endDateTo); + } + + /** + * 病案数据第二层表格 + * @return + */ + @RequestMapping("recordDataTwoTable") + @ResponseBody + public OffsetLimitPage recordDataTwoTable(Integer offset, Integer limit,String startDateTo,String endDateTo) throws Exception{ + return workHomeService.recordDataTwoTable(offset,limit,startDateTo,endDateTo); + } + + /** + * 病案数据第三层表格 + * @return + */ + @RequestMapping("recordDataThreeTable") + @ResponseBody + public List recordDataThreeTable(RecordSearch recordSearch) throws Exception{ + return workHomeService.recordDataThreeTable(recordSearch); + } + + /** + * 病案数据待审核详情页面 + * @return + */ + @RequestMapping("notSubmitRecord") + public String notSubmitRecord(RecordSearch recordSearch, Model model) throws Exception{ + model.addAttribute("obj",recordSearch); + return "workHome/notSubmitRecord"; + } + + /** + * 病案数据未提交报表导出 + * @param response + */ + @ResponseBody + @RequestMapping(value = "exportExcelNotSubmit") + public void exportExcelNotSubmit(HttpServletResponse response, + RecordSearch recordSearch){ + String tableThNames = "主管医生,医生工号,超期份数,出院科室,患者姓名,住院号,"+ + "住院次数,出院日期,超期天数,状态,完整性"; + String fieldCns = "doctorInCharge,doctorInChargeCode,overTimeCounts,deptName,name," + + "inpNo,visitId,dischargeDateTime,overtimeDays,status,lockInfo"; + //构造excel的数据 + try { + List list = recordService.selectRecordGroupDeptAndRole(recordSearch); + //文件名 + String fileName = "病案未提交报表" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".xls"; + //ExportExcelUtil + ExportExcelUtil exportExcelUtil = new ExportExcelUtil(); + //导出excel的操作 + exportExcelUtil.expordExcel(tableThNames,fieldCns,list,fileName,response); + }catch (Exception e){ + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + } + } + + /** + * 病案室管理 + * @return + */ + @RequestMapping("medicalRoomManage") + public String medicalRoomManage(){ + return "workHome/medicalRoomManage"; + } + + /** + * 病案室管理数据监控 + * @return + */ + @RequestMapping("medicalRoomManageData") + @ResponseBody + public Map medicalRoomManageData(String startDateTo, String endDateTo) throws Exception{ + return workHomeService.medicalRoomManageData(startDateTo,endDateTo); + } + + /** + * HIS退回病案统计 + * @return + */ + @RequestMapping("callBackStatistics") + public String callBackStatistics(){ + return "workHome/callBackStatistics"; + } + + /** + * HIS退回病案统计数据 + * @return + */ + @RequestMapping("callBackStatisticsData") + @ResponseBody + public OffsetLimitPage callBackStatisticsData(Integer offset, Integer limit,String startDateTo,String endDateTo) throws Exception{ + return workHomeService.callBackStatisticsData(offset,limit,startDateTo,endDateTo); + } + + /** + * HIS退回病案统计数据详情 + * @return + */ + @RequestMapping("callBackStatisticsDetail") + @ResponseBody + public OffsetLimitPage callBackStatisticsDetail(Integer offset, Integer limit,String time,String startDateTo,String endDateTo) throws Exception{ + return workHomeService.callBackStatisticsDetail(offset,limit,time,startDateTo,endDateTo); + } + + /** + * 采集器状态 + * @return + */ + @RequestMapping("collectList") + public String collectList(){ + return "workHome/collectList"; + } + + /** + * 采集器状态列表 + * @return + */ + @RequestMapping("collectListData") + @ResponseBody + public OffsetLimitPage collectListData(Integer offset, Integer limit) throws Exception{ + PageHelper.offsetPage(offset, limit); + List list = serverMachineMapper.selectAll(); + return new OffsetLimitPage((Page) list); + } +} diff --git a/src/main/java/com/emr/controller/beHospitaledController.java b/src/main/java/com/emr/controller/beHospitaledController.java index 1508b5a..1184046 100644 --- a/src/main/java/com/emr/controller/beHospitaledController.java +++ b/src/main/java/com/emr/controller/beHospitaledController.java @@ -153,8 +153,8 @@ public class beHospitaledController { @ResponseBody @RequestMapping(value = "/exportExcel") public void exportExcel(HttpServletResponse response, HttpServletRequest request,Archive_Master_Vo archiveMasterVo,Integer isSearch){ - String tableThNames = "住院号,住院次数,名字,性别,出院科室,出院日期,主管医生,状态"; - String fieldCns = "inpNo,visitId,name,sex,deptName,dischargeDateTime,doctorInCharge,status"; + String tableThNames = "住院号,住院次数,名字,性别,出院科室,出院日期,主管医生,状态,是否完整,HIS召回状态,打印状态"; + String fieldCns = "inpNo,visitId,name,sex,deptName,dischargeDateTime,doctorInCharge,status,lockinfo,callBackStatus,printStatus"; //构造excel的数据 if(isSearch == 0){ archiveMasterVo.setStartDateTo(null); diff --git a/src/main/java/com/emr/controller/lastVerifyController.java b/src/main/java/com/emr/controller/lastVerifyController.java index cf8c8d2..514ef41 100644 --- a/src/main/java/com/emr/controller/lastVerifyController.java +++ b/src/main/java/com/emr/controller/lastVerifyController.java @@ -49,7 +49,7 @@ public class lastVerifyController { private EmrOvertimeSetService emrOvertimeSetService; @RequestMapping(value = "/lastVerifys") - public String faults(Integer flag, Model model){ + public String faults(Integer flag, Model model,String startDateTo,String endDateTo){ if(null != flag){ model.addAttribute("flag",flag); model.addAttribute("overDateSet",overDateSet); @@ -59,6 +59,8 @@ public class lastVerifyController { model.addAttribute("remindDate",remindDate); } } + model.addAttribute("startDate",startDateTo); + model.addAttribute("endDate",endDateTo); return "lastVerifyDir/lastVerifyList"; } @@ -93,8 +95,8 @@ public class lastVerifyController { archiveMasterVo.setStartDateTo(null); archiveMasterVo.setEndDateTo(null); } - String tableThNames = "住院号,住院次数,名字,性别,出院科室,出院日期,主管医生,状态,纸质状态,纸质扫描"; - String fieldCns = "inpNo,visitId,name,sex,deptName,dischargeDateTime,doctorInCharge,status,remark,checkName"; + String tableThNames = "住院号,住院次数,名字,性别,出院科室,出院日期,主管医生,状态,纸质状态,纸质扫描,HIS召回状态,打印状态"; + String fieldCns = "inpNo,visitId,name,sex,deptName,dischargeDateTime,doctorInCharge,status,remark,checkName,callBackStatus,printStatus"; try { //构造excel的数据 List list = archiveMasterService.selectLastVerifyList(archiveMasterVo); diff --git a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java index 9f3e655..b6dd5e6 100644 --- a/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java +++ b/src/main/java/com/emr/dao/ArchiveOtherExtMapper.java @@ -67,4 +67,12 @@ public interface ArchiveOtherExtMapper { @Param("filePath")String filePath); void updateOtherDomForStatusFlag( @Param("jzh")String jzh, @Param("filePath")String filePath,@Param("sysFlag")Integer sysFlag); + + /** + * 根据时间查询his召回详情 + * @param time + * @return + */ + List callBackStatisticsDetail(@Param("time") String time,@Param("startDateTo")String startDateTo, + @Param("endDateTo")String endDateTo); } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/Archive_DetailMapper.java b/src/main/java/com/emr/dao/Archive_DetailMapper.java index bd2fb99..adf87bb 100644 --- a/src/main/java/com/emr/dao/Archive_DetailMapper.java +++ b/src/main/java/com/emr/dao/Archive_DetailMapper.java @@ -59,5 +59,7 @@ public interface Archive_DetailMapper { List selectIsScan(@Param("ids") String ids,@Param("fieldFlag")Integer fieldFlag); + List selectIsScanByDate(@Param("startDateTo") String startDateTo,@Param("endDateTo")String endDateTo); + List selectRepeatRecordFileForMasterIds(@Param("masterIds")String masterIds); } \ No newline at end of file diff --git a/src/main/java/com/emr/dao/Archive_MasterMapper.java b/src/main/java/com/emr/dao/Archive_MasterMapper.java index e8697d0..c2e6bb0 100644 --- a/src/main/java/com/emr/dao/Archive_MasterMapper.java +++ b/src/main/java/com/emr/dao/Archive_MasterMapper.java @@ -3,6 +3,8 @@ package com.emr.dao; import com.emr.entity.Archive_Master; import com.emr.entity.Archive_Master_Vo; import com.emr.vo.DoctorStatistics; +import com.emr.vo.RecordCommonVo; +import com.emr.vo.RecordStatisticsHome; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -63,6 +65,39 @@ public interface Archive_MasterMapper { */ List selectCompleteMasterIds(Archive_Master_Vo master); + /** + * 病案数据第一层表格 + * @param startDateTo + * @param endDateTo + * @return + */ + List recordDateOneTable(@Param("startDateTo") String startDateTo,@Param("endDateTo") String endDateTo,@Param("deptCodes")String deptCodes); + + /** + * 病案数据第二层表格 + * @param startDateTo + * @param endDateTo + * @return + */ + List recordDataTwoTable(@Param("startDateTo") String startDateTo,@Param("endDateTo") String endDateTo); + + /** + * HIS退回病案统计数据 + * @param startDateTo + * @param endDateTo + * @return + */ + List callBackStatisticsData(@Param("startDateTo") String startDateTo, @Param("endDateTo") String endDateTo); + + List selectStatisticsCount(@Param("startDateTo") String startDateTo, @Param("endDateTo") String endDateTo); + + List overTimeAndReOverTimeCount(@Param("date")String date, + @Param("deadDate")String deadDate, + @Param("reDate")String reDate, + @Param("reDeadDate")String reDeadDate, + @Param("startDateTo")String startDateTo, + @Param("endDateTo")String endDateTo); + /** * * @param record diff --git a/src/main/java/com/emr/dao/ServerMachineMapper.java b/src/main/java/com/emr/dao/ServerMachineMapper.java new file mode 100644 index 0000000..3b2cf6b --- /dev/null +++ b/src/main/java/com/emr/dao/ServerMachineMapper.java @@ -0,0 +1,22 @@ +package com.emr.dao; + +import com.emr.entity.ServerMachine; +import com.emr.vo.ServerMachineVo; + +import java.util.List; + +public interface ServerMachineMapper { + int deleteByPrimaryKey(String servername); + + int insert(ServerMachine record); + + int insertSelective(ServerMachine record); + + ServerMachine selectByPrimaryKey(String servername); + + int updateByPrimaryKeySelective(ServerMachine record); + + int updateByPrimaryKey(ServerMachine record); + + List selectAll(); +} \ No newline at end of file diff --git a/src/main/java/com/emr/dao/TUuPrintMapper.java b/src/main/java/com/emr/dao/TUuPrintMapper.java index d7163d4..11a5b1d 100644 --- a/src/main/java/com/emr/dao/TUuPrintMapper.java +++ b/src/main/java/com/emr/dao/TUuPrintMapper.java @@ -15,4 +15,6 @@ public interface TUuPrintMapper { List getPrintCount(TUuPrintSearch record); List getPrintInfo(TUuPrintSearch record); + + List selectAllByPatientId(@Param("patientId") String patientId); } \ No newline at end of file diff --git a/src/main/java/com/emr/entity/Archive_Master.java b/src/main/java/com/emr/entity/Archive_Master.java index 9a1ee06..f41ee57 100644 --- a/src/main/java/com/emr/entity/Archive_Master.java +++ b/src/main/java/com/emr/entity/Archive_Master.java @@ -51,6 +51,16 @@ public class Archive_Master { private BigDecimal d1; + private String t1; + + public String getT1() { + return t1; + } + + public void setT1(String t1) { + this.t1 = t1; + } + public String getChangeReason() { return changeReason; } diff --git a/src/main/java/com/emr/entity/Archive_Master_Vo.java b/src/main/java/com/emr/entity/Archive_Master_Vo.java index fe36c75..23290d3 100644 --- a/src/main/java/com/emr/entity/Archive_Master_Vo.java +++ b/src/main/java/com/emr/entity/Archive_Master_Vo.java @@ -83,6 +83,10 @@ public class Archive_Master_Vo extends Archive_Master{ private String paperPosition4; private String lockInfo;//完整性描述 + + private String callBackStatus;//退回召回状态 + + private String printStatus;//打印状态 } diff --git a/src/main/java/com/emr/entity/ServerMachine.java b/src/main/java/com/emr/entity/ServerMachine.java new file mode 100644 index 0000000..709d026 --- /dev/null +++ b/src/main/java/com/emr/entity/ServerMachine.java @@ -0,0 +1,261 @@ +package com.emr.entity; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +public class ServerMachine implements Serializable { + private String servername; + + private Date lastonlinetime; + + private Integer state; + + private String loginuser; + + private String loginpwd; + + private Long doccount; + + private Long infocount; + + private Long warningcount; + + private Long errorcount; + + private Long donecount; + + private Date lastupdatetime; + + 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 Date t1; + + private Date t2; + + private Date t3; + + private static final long serialVersionUID = 1L; + + public String getServername() { + return servername; + } + + public void setServername(String servername) { + this.servername = servername == null ? null : servername.trim(); + } + + public Date getLastonlinetime() { + return lastonlinetime; + } + + public void setLastonlinetime(Date lastonlinetime) { + this.lastonlinetime = lastonlinetime; + } + + public Integer getState() { + return state; + } + + public void setState(Integer state) { + this.state = state; + } + + public String getLoginuser() { + return loginuser; + } + + public void setLoginuser(String loginuser) { + this.loginuser = loginuser == null ? null : loginuser.trim(); + } + + public String getLoginpwd() { + return loginpwd; + } + + public void setLoginpwd(String loginpwd) { + this.loginpwd = loginpwd == null ? null : loginpwd.trim(); + } + + public Long getDoccount() { + return doccount; + } + + public void setDoccount(Long doccount) { + this.doccount = doccount; + } + + public Long getInfocount() { + return infocount; + } + + public void setInfocount(Long infocount) { + this.infocount = infocount; + } + + public Long getWarningcount() { + return warningcount; + } + + public void setWarningcount(Long warningcount) { + this.warningcount = warningcount; + } + + public Long getErrorcount() { + return errorcount; + } + + public void setErrorcount(Long errorcount) { + this.errorcount = errorcount; + } + + public Long getDonecount() { + return donecount; + } + + public void setDonecount(Long donecount) { + this.donecount = donecount; + } + + public Date getLastupdatetime() { + return lastupdatetime; + } + + public void setLastupdatetime(Date lastupdatetime) { + this.lastupdatetime = lastupdatetime; + } + + public String getC1() { + return c1; + } + + public void setC1(String c1) { + this.c1 = c1 == null ? null : c1.trim(); + } + + public String getC2() { + return c2; + } + + public void setC2(String c2) { + this.c2 = c2 == null ? null : c2.trim(); + } + + public String getC3() { + return c3; + } + + public void setC3(String c3) { + this.c3 = c3 == null ? null : c3.trim(); + } + + public String getC4() { + return c4; + } + + public void setC4(String c4) { + this.c4 = c4 == null ? null : c4.trim(); + } + + public String getC5() { + return c5; + } + + public void setC5(String c5) { + this.c5 = c5 == null ? null : c5.trim(); + } + + 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 Date getT1() { + return t1; + } + + public void setT1(Date t1) { + this.t1 = t1; + } + + public Date getT2() { + return t2; + } + + public void setT2(Date t2) { + this.t2 = t2; + } + + public Date getT3() { + return t3; + } + + public void setT3(Date t3) { + this.t3 = t3; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(getClass().getSimpleName()); + sb.append(" ["); + sb.append("Hash = ").append(hashCode()); + sb.append(", servername=").append(servername); + sb.append(", lastonlinetime=").append(lastonlinetime); + sb.append(", state=").append(state); + sb.append(", loginuser=").append(loginuser); + sb.append(", loginpwd=").append(loginpwd); + sb.append(", doccount=").append(doccount); + sb.append(", infocount=").append(infocount); + sb.append(", warningcount=").append(warningcount); + sb.append(", errorcount=").append(errorcount); + sb.append(", donecount=").append(donecount); + sb.append(", lastupdatetime=").append(lastupdatetime); + sb.append(", c1=").append(c1); + sb.append(", c2=").append(c2); + sb.append(", c3=").append(c3); + sb.append(", c4=").append(c4); + sb.append(", c5=").append(c5); + sb.append(", n1=").append(n1); + sb.append(", n2=").append(n2); + sb.append(", n3=").append(n3); + sb.append(", t1=").append(t1); + sb.append(", t2=").append(t2); + sb.append(", t3=").append(t3); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/src/main/java/com/emr/quart/Task1.java b/src/main/java/com/emr/quart/Task1.java index fa9f593..a37175f 100644 --- a/src/main/java/com/emr/quart/Task1.java +++ b/src/main/java/com/emr/quart/Task1.java @@ -255,7 +255,6 @@ public class Task1 { Field field = vo.getClass().getDeclaredField(fieldName); field.setAccessible(true); Integer unCheckCount = (Integer) field.get(vo); - System.out.println(unCheckCount); if(unCheckCount > 0){ List roleUserList = new ArrayList<>(); //获取该角色的用户集合 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 e8aa9d7..a26ba5f 100644 --- a/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_DetailServiceImpl.java @@ -164,7 +164,7 @@ public class Archive_DetailServiceImpl implements Archive_DetailService { nurseFlag = true; } if(StringUtils.isNotBlank(detailVo.getTitle()) && - !detailVo.getTitle().contains(strTemp) && !detailVo.getTitle().contains(nurseTemp)) { + (StringUtils.isBlank(detailVoTemp.getId()) || !detailVo.getId().equals(detailVoTemp.getId())) && (StringUtils.isBlank(nurseDetailVoTemp.getId()) || !detailVo.getId().equals(nurseDetailVoTemp.getId()))) { returnList.add(detailVo); }else{ if(StringUtils.isBlank(detailVo.getTitle())){ 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 9307384..221b615 100644 --- a/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/Archive_MasterServiceImpl.java @@ -64,6 +64,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService { private String POWER_URLHEAD; @Autowired private CommomService commomService; + @Autowired + private TUuPrintMapper tUuPrintMapper; /** * 在院列表 * */ diff --git a/src/main/java/com/emr/service/ipml/RecordService.java b/src/main/java/com/emr/service/ipml/RecordService.java index 12c6ccb..5015ee9 100644 --- a/src/main/java/com/emr/service/ipml/RecordService.java +++ b/src/main/java/com/emr/service/ipml/RecordService.java @@ -64,7 +64,7 @@ public class RecordService { //填充各个角色数据、主要填充已提交的 selectList(unSubmitRecords); } - request.getSession().setAttribute("unSubmitRecords",unSubmitRecords); + //request.getSession().setAttribute("unSubmitRecords",unSubmitRecords); return unSubmitRecords; } @@ -464,6 +464,30 @@ public class RecordService { return recordStatistics; } + /** + * 科室名称编码转名称 + * @param dictionaries 科室字典列表 + * @param vo 患者记录对象 + */ + private void deptNameCode2Name(List dictionaries, Archive_Master_Vo vo) { + if(!CollectionUtils.isEmpty(dictionaries)) { + //在院科室 + String deptAdmissionTo = vo.getDeptAdmissionTo(); + //出院科室 + String deptName = vo.getDeptName(); + //住院科室 + for (Emr_Dictionary dictionaryTemp : dictionaries) { + String name = dictionaryTemp.getName(); + if (StringUtils.isNotBlank(deptAdmissionTo) && deptAdmissionTo.equals(dictionaryTemp.getCode())) { + vo.setDeptAdmissionTo(name); + } + if (StringUtils.isNotBlank(deptName) && deptName.equals(dictionaryTemp.getCode())) { + vo.setDeptName(name); + } + } + } + } + /** * 按科室待审核角色病案超时分页查询 * @param recordSearch @@ -473,7 +497,13 @@ public class RecordService { List list = recordMapper.selectRecordGroupDeptAndRole(recordSearch); if(!CollectionUtils.isEmpty(list)){ List userList = commomService.getUserList(); + //查询科室集合 + Emr_Dictionary dictionary = new Emr_Dictionary(); + dictionary.setTypecode("dept_code"); + List dictionaries = dictionaryMapper.dicByTypeCode(dictionary); for (Archive_Master_Vo obj : list) { + //转换科室 + deptNameCode2Name(dictionaries, obj); //转换工号 if(!CollectionUtils.isEmpty(userList)) { for (User user : userList) { diff --git a/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java b/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java index b9b93db..400091f 100644 --- a/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java +++ b/src/main/java/com/emr/service/ipml/V_CountServiceImpl.java @@ -12,6 +12,7 @@ import com.emr.service.V_CountService; import com.emr.vo.V_CountVo; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; +import org.apache.shiro.util.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -24,7 +25,13 @@ public class V_CountServiceImpl implements V_CountService { @Override public List selectByCol(V_CountVo record) { - return vCountMapper.selectByCol(record); + List counts = vCountMapper.selectByCol(record); + if(!CollectionUtils.isEmpty(counts)){ + for(V_Count count :counts){ + count.setUnfileNum(count.getOutNum() - count.getFileNum()); + } + } + return counts; } @Override diff --git a/src/main/java/com/emr/service/ipml/WorkHomeService.java b/src/main/java/com/emr/service/ipml/WorkHomeService.java new file mode 100644 index 0000000..63342c9 --- /dev/null +++ b/src/main/java/com/emr/service/ipml/WorkHomeService.java @@ -0,0 +1,530 @@ +package com.emr.service.ipml; + +import com.emr.dao.*; +import com.emr.entity.*; +import com.emr.vo.*; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; +import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.annotations.Param; +import org.apache.shiro.util.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.text.DecimalFormat; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/28 14:22 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/28 14:22 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Service +public class WorkHomeService { + @Autowired + private Archive_MasterMapper archiveMasterMapper; + @Autowired + private Emr_DictionaryMapper dictionaryMapper; + @Autowired + private RecordMapper recordMapper; + @Autowired + private EmrOvertimeSetService overtimeSetService; + @Autowired + private EmrHolidaySetMapper holidaySetMapper; + @Autowired + private Archive_DetailMapper archiveDetailMapper; + @Autowired + private ArchiveOtherExtMapper archiveOtherExtMapper; + /** + * 病案数据第一层表格 + * @param startDateTo + * @param endDateTo + * @return + */ + public OffsetLimitPage recordDateOneTable(String startDateTo, String endDateTo) { + //查询全部出院日期和状态 + List list= archiveMasterMapper.recordDateOneTable(startDateTo,endDateTo,null); + //定义返回集合 + List returnList = new Page<>(); + //定义接收对象 + RecordStatisticsHome obj = new RecordStatisticsHome(); + obj.setName("全院"); + //定义出院人数 + int disCount = 0; + //定义入院人数 + int admissCount = 0; + //定义出科数量 + int sumbitCount = 0; + //定义归档数量 + int recordCount = 0; + if(!CollectionUtils.isEmpty(list)){ + for(Archive_Master archiveMaster : list){ + //判断出院、入院 + String disDate = archiveMaster.getDischargeDateTime(); + if(StringUtils.isNotBlank(disDate) && !"1801".equals(disDate.substring(0,4))){ + disCount++; + }else{ + admissCount++; + } + //判断出科 + String archivestate = archiveMaster.getArchivestate(); + if(StringUtils.isNotBlank(archivestate)) { + String t1 = archiveMaster.getT1(); + if ("64".equals(archivestate) || "128".equals(archivestate)) { + sumbitCount++; + } + //判断归档 待终审且已签收+已归档 + if ("128".equals(archivestate) || ("64".equals(archivestate) && StringUtils.isNotBlank(t1) && !"1801-02-03".equals(t1.substring(0,10)))) { + recordCount++; + } + } + } + } + obj.setName("全院"); + obj.setDisCount(disCount); + obj.setAdmissCount(admissCount); + obj.setSumbitCount(sumbitCount); + obj.setRecordCount(recordCount); + if(disCount != 0) { + obj.setRecordRate((recordCount * 100 / disCount) + "%"); + } + returnList.add(obj); + return new OffsetLimitPage((Page) returnList); + } + + /** + * 病案数据第二层表格 + * @param offset + * @param limit + * @param startDateTo + * @param endDateTo + * @return + */ + public OffsetLimitPage recordDataTwoTable(Integer offset, Integer limit, String startDateTo, String endDateTo) { + PageHelper.offsetPage(offset, limit); + //查询科室归档数量排名 + List returnList = archiveMasterMapper.recordDataTwoTable(startDateTo,endDateTo); + if(!CollectionUtils.isEmpty(returnList)){ + //定义科室编号集合 + StringBuilder deptCodes = new StringBuilder(); + //查询科室集合 + Emr_Dictionary dictionary = new Emr_Dictionary(); + dictionary.setTypecode("dept_code"); + List dictionaries = dictionaryMapper.dicByTypeCode(dictionary); + for(RecordStatisticsHome obj : returnList){ + if(StringUtils.isNotBlank(deptCodes)){ + deptCodes.append(","); + } + //出院科室 + String deptName = obj.getDeptName(); + deptCodes.append(deptName); + } + //查询全部出院日期和状态 + List list = archiveMasterMapper.recordDateOneTable(startDateTo,endDateTo,deptCodes.toString()); + for(RecordStatisticsHome vo : returnList){ + //出院科室 + String deptName = vo.getDeptName(); + //定义出院人数 + int disCount = 0; + //定义入院人数 + int admissCount = 0; + //定义归档数量 + int recordCount = 0; + //定义出科数量 + int sumbitCount = 0; + if(!CollectionUtils.isEmpty(list)){ + for(Archive_Master archiveMaster : list){ + if(StringUtils.isNotBlank(archiveMaster.getDeptName()) && archiveMaster.getDeptName().equals(deptName)){ + //判断出院、入院 + String disDate = archiveMaster.getDischargeDateTime(); + if(StringUtils.isNotBlank(disDate) && !"1801".equals(disDate.substring(0,4))){ + disCount++; + }else{ + admissCount++; + } + String archivestate = archiveMaster.getArchivestate(); + String t1 = archiveMaster.getT1(); + //判断归档 待终审且已签收+已终审 + if ("128".equals(archivestate) || ("64".equals(archivestate) && StringUtils.isNotBlank(t1) && !"1801-02-03".equals(t1.substring(0,10)))) { + recordCount++; + } + //判断出科 + if ("128".equals(archivestate) || "64".equals(archivestate)) { + sumbitCount++; + } + } + } + } + vo.setDisCount(disCount); + vo.setRecordCount(recordCount); + vo.setAdmissCount(admissCount); + vo.setSumbitCount(sumbitCount); + //转换科室 + for (Emr_Dictionary dictionaryTemp : dictionaries) { + String name = dictionaryTemp.getName(); + if (StringUtils.isNotBlank(deptName) && deptName.equals(dictionaryTemp.getCode())) { + vo.setName(name); + } + } + } + } + return new OffsetLimitPage((Page) returnList); + } + + /** + * 病案数据第三层表格 + * @param recordSearch + * @return + */ + public List recordDataThreeTable(RecordSearch recordSearch) { + List list = recordMapper.selectUnCountGroupDeptForRemind(recordSearch); + List returnList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(list)){ + SubmitRecord obj = list.get(0); + //获取科室编号 + String deptName = obj.getDeptName(); + //获取科室名称 + String deptNameCn = obj.getDeptNameCn(); + int count2 = obj.getUnDoctorSubmitCount(); + if(count2 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,2,"医生未提交",count2); + returnList.add(vo); + } + int count3 = obj.getUnDoctorCheckCount(); + if(count3 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,3,"医生质控员未提交",count3); + returnList.add(vo); + } + int count4 = obj.getUnDirectorCheckCount(); + if(count4 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,4,"科主任未提交",count4); + returnList.add(vo); + } + int count5 = obj.getUnNurseSubmitCount(); + if(count5 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,5,"护士未提交",count5); + returnList.add(vo); + } + int count6 = obj.getUnNurseCheckCount(); + if(count6 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,6,"护士质控员未提交",count6); + returnList.add(vo); + } + int count7 = obj.getUnHeadNurseCount(); + if(count7 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,7,"护士长未提交",count7); + returnList.add(vo); + } + int count8 = obj.getUnRecordRoomCount(); + if(count8 > 0){ + NotSubmitRecordVo vo = new NotSubmitRecordVo(deptName,deptNameCn,8,"病案室未提交",count8); + returnList.add(vo); + } + } + return returnList; + } + + /** + * 病案室管理数据监控 + * @param startDateTo + * @param endDateTo + */ + public Map medicalRoomManageData(String startDateTo, String endDateTo) throws Exception{ + //查询总数据 1.出院人数 2.待终审数量 3.已终审数量 4.已签收数量 5.已扫描数量 6.待终审已签收 + List list = archiveMasterMapper.selectStatisticsCount(startDateTo, endDateTo); + //组织返回数据 + //定义出院人数 + int disCount = 0; + //定义待终审数量 + int headNurseCount = 0; + //定义归档数量 已终审+待终审已签收 + int recordCount = 0; + //定义签收数量 + int signCount = 0; + //已扫描数量 + int isScanCount = 0; + //超期病历 + int overTimeCount = 0; + //预超期病历 + int reOverTimeCount = 0; + //归档率 归档数量/出院人数 + int recordRate = 0; + //签收率 已签收/总出院人数 + int signRate = 0; + //扫描率 已扫描/已签收 + int scanRate = 0; + Map map = new HashMap<>(); + if (!CollectionUtils.isEmpty(list)) { + disCount = list.get(0); + headNurseCount = list.get(1); + recordCount = list.get(2) + list.get(5); + signCount = list.get(3); + isScanCount = list.get(4); + //查询超期参数 + EmrOvertimeSet overtimeSet = overtimeSetService.selectByPrimaryKey(1); + //获取未超期列表 + List unHolidays = holidaySetMapper.selectNotHolidayList(); + //获取非死亡工作日 + String date = unHolidays.get(overtimeSet.getDays()).getDate(); + //获取死亡工作日 + String deadDate = unHolidays.get(overtimeSet.getDeadDays()).getDate(); + //获取预超期非死亡工作日 + String reDate = unHolidays.get(overtimeSet.getDays() - overtimeSet.getSurplusDays()).getDate(); + //获取预超期死亡工作日 + String reDeadDate = unHolidays.get(overtimeSet.getDeadDays() - overtimeSet.getSurplusDays()).getDate(); + //查询超期与预超期数量集合 1.超期数量 2.预超期数量 + List overTimeAndReOverTimeCountList = archiveMasterMapper.overTimeAndReOverTimeCount(date,deadDate,reDate,reDeadDate,startDateTo, endDateTo); + overTimeCount = getOverTimeCount(startDateTo,endDateTo); + reOverTimeCount = overTimeAndReOverTimeCountList.get(1); + } + //归档率 归档数量/出院人数 + if(disCount != 0){ + recordRate = recordCount * 100 / disCount; + } + map.put("recordRate",recordRate + "%"); + //归档数量 + map.put("recordCount", recordCount + ""); + //待终审数量 + map.put("headNurseCount", headNurseCount + ""); + //出科数量 待终审数量+终审数量 + map.put("submitCount", (list.get(2) + headNurseCount) + ""); + //签收数量 + map.put("signCount", signCount + ""); + //待签收数量 总出院人数-已签收数量 + map.put("notSignCount", (disCount - signCount) + ""); + //签收率 已签收/总出院人数 + if(disCount != 0){ + signRate = signCount * 100 / disCount; + } + map.put("signRate",signRate + "%"); + //超期数量 + map.put("overTimeCount", overTimeCount + ""); + //预超期数量 + map.put("reOverTimeCount",reOverTimeCount + ""); + //已扫描数量 + map.put("isScanCount",isScanCount + ""); + //未扫描数量 已签收-已扫描 + map.put("notScanCount",(signCount - isScanCount) + ""); + //扫描率 + if(disCount != 0 && signCount != 0){ + scanRate = (isScanCount * 100 / signCount); + } + map.put("scanRate",scanRate + "%"); + return map; + } + + private int getOverTimeCount(String startDateTo, String endDateTo) throws Exception{ + RecordSearch recordSearch = new RecordSearch(); + recordSearch.setStartDate(startDateTo); + recordSearch.setEndDate(endDateTo); + int count = 0; + List unSubmitRecords = recordMapper.selectUnCountGroupDept(recordSearch); + if (!CollectionUtils.isEmpty(unSubmitRecords)) { + unSubmitRecords = selectOvertimeRecord(unSubmitRecords); + if(!CollectionUtils.isEmpty(unSubmitRecords)){ + count = unSubmitRecords.size(); + } + } + return count; + } + + /** + * 过滤未过期的 + * @param unSubmitRecords + * @return + */ + private List selectOvertimeRecord(List unSubmitRecords) throws Exception{ + //查询超期参数 + EmrOvertimeSet overtimeSet = overtimeSetService.selectByPrimaryKey(1); + //获取未超期列表 + List unHolidays = holidaySetMapper.selectNotHolidayList(); + Iterator iterator = unSubmitRecords.iterator(); + //获取非死亡工作日 + String date = unHolidays.get(overtimeSet.getDays()).getDate(); + //获取非死亡工作日 + String deadDate = unHolidays.get(overtimeSet.getDeadDays()).getDate(); + //定义格式化日期 + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + while (iterator.hasNext()) { + SubmitRecord record = (SubmitRecord) iterator.next(); + //获取是否死亡 + String dischargeDisposition = record.getDischargeDisposition(); + String dischargeDateTime = record.getDischargeDateTime(); + long time = fmt.parse(dischargeDateTime).getTime(); + if(StringUtils.isNotBlank(dischargeDisposition) && "5".equals(dischargeDisposition)){ + //死亡 + if(time >= fmt.parse(deadDate).getTime()){ + iterator.remove(); + } + }else{ + //非死亡 + if(time >= fmt.parse(date).getTime()){ + iterator.remove(); + } + } + } + return unSubmitRecords; + } + +/* + public Map medicalRoomManageData(String startDateTo, String endDateTo) throws Exception{ + //查询总数据 + List list = archiveMasterMapper.recordDateOneTable(startDateTo, endDateTo, null); + //组织返回数据 + Map map = new HashMap<>(); + if (!CollectionUtils.isEmpty(list)) { + //查询超期参数 + EmrOvertimeSet overtimeSet = overtimeSetService.selectByPrimaryKey(1); + //获取未超期列表 + List unHolidays = holidaySetMapper.selectNotHolidayList(); + //获取非死亡工作日 + String date = unHolidays.get(overtimeSet.getDays()).getDate(); + //获取死亡工作日 + String deadDate = unHolidays.get(overtimeSet.getDeadDays()).getDate(); + //获取预超期非死亡工作日 + String reDate = unHolidays.get(overtimeSet.getDays() - overtimeSet.getSurplusDays()).getDate(); + //获取预超期死亡工作日 + String reDeadDate = unHolidays.get(overtimeSet.getDeadDays() - overtimeSet.getSurplusDays()).getDate(); + //定义出院人数 + int disCount = 0; + //定义待终审数量 + int headNurseCount = 0; + //定义归档数量 + int recordCount = 0; + //定义签收数量 + int signCount = 0; + //超期病历 + int overTimeCount = 0; + //预超期病历 + int reOverTimeCount = 0; + //未扫描数量 + int notScanCount = 0; + //定义格式化日期 + SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); + //查询已纸质扫描的MasterId + List archiveDetails = archiveDetailMapper.selectIsScanByDate(startDateTo, endDateTo); + for (Archive_Master obj : list) { + //获取出院日期 + String dischargeDateTime = obj.getDischargeDateTime(); + //获取状态 + String archivestate = obj.getArchivestate(); + //获取签收时间 + String t1 = obj.getT1(); + //判断出院人数 + if (StringUtils.isNotBlank(dischargeDateTime) && !"1801".equals(dischargeDateTime.substring(0, 4))) { + disCount++; + //获取死亡状态 + String dischargeDisposition = obj.getDischargeDisposition(); + long time = fmt.parse(dischargeDateTime).getTime(); + if(StringUtils.isNotBlank(dischargeDisposition) && "5".equals(dischargeDisposition)){ + //死亡病历 + if(time <= fmt.parse(deadDate).getTime()){ + //超期 + overTimeCount++; + } + if(time > fmt.parse(deadDate).getTime() && time <= fmt.parse(reDeadDate).getTime()){ + //预超期 + reOverTimeCount++; + } + }else{ + //非死亡病历 + if(time <= fmt.parse(date).getTime()){ + //超期 + overTimeCount++; + } + if(time > fmt.parse(date).getTime() && time <= fmt.parse(reDate).getTime()){ + //预超期 + reOverTimeCount++; + } + } + } + //判断待终审数量 + if ("64".equals(archivestate)) { + headNurseCount++; + //判断是否纸质扫描 + boolean isScanFlag = false; + if(!CollectionUtils.isEmpty(archiveDetails)){ + for(Archive_Detail detail : archiveDetails){ + if(detail.getMasterid().equals(obj.getId())){ + isScanFlag = true; + break; + } + } + } + if(!isScanFlag){ + notScanCount++; + } + } + //判断归档数量 + if ("128".equals(archivestate)) { + recordCount++; + } + //判断签收数量 + if (StringUtils.isNotBlank(t1) && !"1801".equals(t1.substring(0, 4))) { + signCount++; + } + } + //归档率 归档数量/出院人数 + map.put("recordRate", (recordCount * 100 / disCount) + "%"); + //终审数量 + map.put("recordCount", recordCount + ""); + //待终审数量 + map.put("headNurseCount", headNurseCount + ""); + //出科数量 待终审数量+终审数量 + map.put("submitCount", (recordCount + headNurseCount) + ""); + //签收数量 + map.put("signCount", signCount + ""); + //待签收数量 总出院人数-已签收数量 + map.put("notSignCount", (disCount - signCount) + ""); + //签收率 已签收/总出院人数 + map.put("signRate", (signCount * 100 / disCount) + "%"); + //超期数量 + map.put("overTimeCount", overTimeCount + ""); + //预超期数量 + map.put("reOverTimeCount",reOverTimeCount + ""); + //已扫描数量 + map.put("isScanCount",archiveDetails.size() + ""); + //预超期数量 + map.put("notScanCount",notScanCount + ""); + //扫描率 + map.put("scanRate",(archiveDetails.size() * 100 / disCount) + "%"); + } + return map; + } +*/ + + /** + * HIS退回病案统计数据 + * @param offset + * @param limit + * @param startDateTo + * @param endDateTo + * @return + */ + public OffsetLimitPage callBackStatisticsData(Integer offset, Integer limit, String startDateTo, String endDateTo) { + PageHelper.offsetPage(offset, limit); + List list = archiveMasterMapper.callBackStatisticsData(startDateTo, endDateTo); + return new OffsetLimitPage((Page) list); + } + + /** + * HIS退回病案统计数据详情 + * @param offset + * @param limit + * @param time + * @return + */ + public OffsetLimitPage callBackStatisticsDetail(Integer offset, Integer limit, String time,String startDateTo,String endDateTo) { + PageHelper.offsetPage(offset, limit); + List list = archiveOtherExtMapper.callBackStatisticsDetail(time,startDateTo,endDateTo); + return new OffsetLimitPage((Page) list); + } +} diff --git a/src/main/java/com/emr/vo/ArchiveOtherExtVo.java b/src/main/java/com/emr/vo/ArchiveOtherExtVo.java index c4331dd..ccfffed 100644 --- a/src/main/java/com/emr/vo/ArchiveOtherExtVo.java +++ b/src/main/java/com/emr/vo/ArchiveOtherExtVo.java @@ -38,4 +38,10 @@ public class ArchiveOtherExtVo extends ArchiveOtherExt { private String tempTime; private String nursingEndTime; + + private String t1Str; + + private String t2Str; + + private String n2Str; } diff --git a/src/main/java/com/emr/vo/NotSubmitRecordVo.java b/src/main/java/com/emr/vo/NotSubmitRecordVo.java new file mode 100644 index 0000000..84b4bff --- /dev/null +++ b/src/main/java/com/emr/vo/NotSubmitRecordVo.java @@ -0,0 +1,32 @@ +package com.emr.vo; + +import lombok.Data; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/29 9:45 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/29 9:45 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Data +public class NotSubmitRecordVo { + private String deptCode; + private String deptNameCn; + private Integer infoId; + private String role; + private Integer unCount; + + public NotSubmitRecordVo(String deptCode, String deptNameCn, Integer infoId, String role, Integer unCount) { + this.deptCode = deptCode; + this.deptNameCn = deptNameCn; + this.infoId = infoId; + this.role = role; + this.unCount = unCount; + } +} \ No newline at end of file diff --git a/src/main/java/com/emr/vo/RecordCommonVo.java b/src/main/java/com/emr/vo/RecordCommonVo.java new file mode 100644 index 0000000..7f93e27 --- /dev/null +++ b/src/main/java/com/emr/vo/RecordCommonVo.java @@ -0,0 +1,22 @@ +package com.emr.vo; + +import lombok.Data; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/30 10:04 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/30 10:04 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Data +public class RecordCommonVo { + private String time; + + private Integer count; +} diff --git a/src/main/java/com/emr/vo/RecordStatisticsHome.java b/src/main/java/com/emr/vo/RecordStatisticsHome.java new file mode 100644 index 0000000..6271b43 --- /dev/null +++ b/src/main/java/com/emr/vo/RecordStatisticsHome.java @@ -0,0 +1,33 @@ +package com.emr.vo; + +import lombok.Data; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/28 14:18 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/28 14:18 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Data +public class RecordStatisticsHome { + private String deptName; + + private String name; + + private Integer disCount; + + private Integer admissCount; + + private Integer sumbitCount; + + private Integer recordCount; + + private String recordRate; +} + diff --git a/src/main/java/com/emr/vo/ServerMachineVo.java b/src/main/java/com/emr/vo/ServerMachineVo.java new file mode 100644 index 0000000..8033f25 --- /dev/null +++ b/src/main/java/com/emr/vo/ServerMachineVo.java @@ -0,0 +1,23 @@ +package com.emr.vo; + +import com.emr.entity.ServerMachine; +import lombok.Data; + +/** + * @ProjectName: + * @Description: + * @Param 传输参数 + * @Return + * @Author: 曾文和 + * @CreateDate: 2021/7/30 11:00 + * @UpdateUser: 曾文和 + * @UpdateDate: 2021/7/30 11:00 + * @UpdateRemark: 更新说明 + * @Version: 1.0 + */ +@Data +public class ServerMachineVo extends ServerMachine { + private String lastOnlintTimeStr; + + private String stateStr; +} diff --git a/src/main/resources/mapper/ArchiveOtherExtMapper.xml b/src/main/resources/mapper/ArchiveOtherExtMapper.xml index 5b0d99e..cbdcef2 100644 --- a/src/main/resources/mapper/ArchiveOtherExtMapper.xml +++ b/src/main/resources/mapper/ArchiveOtherExtMapper.xml @@ -708,4 +708,54 @@ + + + + + + + + AND discharge_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and + #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + AND discharge_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) + + + AND discharge_date_time <= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + diff --git a/src/main/resources/mapper/Archive_DetailMapper.xml b/src/main/resources/mapper/Archive_DetailMapper.xml index 7fb9fca..6fed4f3 100644 --- a/src/main/resources/mapper/Archive_DetailMapper.xml +++ b/src/main/resources/mapper/Archive_DetailMapper.xml @@ -489,10 +489,40 @@ ${item} ) - AND Source = '扫描上传' + AND Source = '扫描上传' AND flag = '0' GROUP BY MasterID + + + + + AND discharge_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and + #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + AND discharge_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) + + + AND discharge_date_time <= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + + + select * from ( select - + , + CASE + WHEN jzh IS NOT NULL THEN + '是' + ELSE + '否' + END callBackStatus, + CASE + WHEN printInfoTable.patient_id IS NOT NULL THEN + '是' + ELSE + '否' + END printStatus from archive_master - + LEFT JOIN archive_other_ext ON archive_master.patient_id = archive_other_ext.jzh + LEFT JOIN printInfoTable ON printInfoTable.patient_id = archive_master.patient_id + + + + + AND jzh is not null + + + AND jzh is null + + + + + + + AND printInfoTable.patient_id is not null + + + AND printInfoTable.patient_id is null + + + + UNION ALL SELECT - + , + CASE + WHEN jzh IS NOT NULL THEN + '是' + ELSE + '否' + END callBackStatus, + CASE + WHEN printInfoTable.patient_id IS NOT NULL THEN + '是' + ELSE + '否' + END printStatus from archive_transfer_dept_user inner join archive_master on archive_master.id = archive_transfer_dept_user.master_id + LEFT JOIN printInfoTable ON printInfoTable.patient_id = archive_master.patient_id + LEFT JOIN archive_other_ext ON archive_master.patient_id = archive_other_ext.jzh where user_name = #{userName} @@ -713,11 +770,46 @@ WHEN T1 IS NOT NULL AND YEAR ( T1 ) != '1801' THEN '已签收' ELSE '未签收' - END remark + END remark, + CASE + WHEN jzh IS NOT NULL THEN + '是' + ELSE + '否' + END callBackStatus, + CASE + WHEN printInfoTable.patient_id IS NOT NULL THEN + '是' + ELSE + '否' + END printStatus from archive_master m - LEFT JOIN ( SELECT MasterID FROM archive_detail INNER JOIN archive_master ON archive_detail.MasterID = - archive_master.id WHERE Source = '扫描上传' GROUP BY MasterID ) archive_detail ON m.id = archive_detail.MasterID + LEFT JOIN + archive_other_ext + ON m.patient_id = archive_other_ext.jzh + LEFT JOIN ( SELECT MasterID FROM archive_detail WHERE Source = '扫描上传' AND archive_detail.flag = '0' GROUP BY MasterID ) archive_detail ON m.id = archive_detail.MasterID + LEFT JOIN printInfoTable ON printInfoTable.patient_id = m.patient_id where 1=1 and ArchiveState in ('64','1024') + + + + AND jzh is not null + + + AND jzh is null + + + + + + + AND printInfoTable.patient_id is not null + + + AND printInfoTable.patient_id is null + + + AND MasterID IS @@ -1404,4 +1496,157 @@ select patient_id from archive_master where ArchiveState in ('64','1024') order by discharge_date_time desc + + + + + + AND discharge_date_time between CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) and + #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + AND discharge_date_time >= CONVERT(VARCHAR(10),#{startDateTo,jdbcType=NCHAR},120) + + + AND discharge_date_time <= #{endDateTo,jdbcType=NCHAR}+ ' 23:59:59' + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/ServerMachineMapper.xml b/src/main/resources/mapper/ServerMachineMapper.xml new file mode 100644 index 0000000..faf632e --- /dev/null +++ b/src/main/resources/mapper/ServerMachineMapper.xml @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ServerName, LastOnlineTime, State, LoginUser, LoginPwd, DocCount, InfoCount, WarningCount, + ErrorCount, DoneCount, LastUpdateTime, C1, C2, C3, C4, C5, N1, N2, N3, T1, T2, T3 + + + + delete from Server_Machine + where ServerName = #{servername,jdbcType=NVARCHAR} + + + insert into Server_Machine (ServerName, LastOnlineTime, State, + LoginUser, LoginPwd, DocCount, + InfoCount, WarningCount, ErrorCount, + DoneCount, LastUpdateTime, C1, + C2, C3, C4, C5, + N1, N2, N3, T1, + T2, T3) + values (#{servername,jdbcType=NVARCHAR}, #{lastonlinetime,jdbcType=TIMESTAMP}, #{state,jdbcType=INTEGER}, + #{loginuser,jdbcType=NVARCHAR}, #{loginpwd,jdbcType=NVARCHAR}, #{doccount,jdbcType=BIGINT}, + #{infocount,jdbcType=BIGINT}, #{warningcount,jdbcType=BIGINT}, #{errorcount,jdbcType=BIGINT}, + #{donecount,jdbcType=BIGINT}, #{lastupdatetime,jdbcType=TIMESTAMP}, #{c1,jdbcType=NVARCHAR}, + #{c2,jdbcType=NVARCHAR}, #{c3,jdbcType=NVARCHAR}, #{c4,jdbcType=NVARCHAR}, #{c5,jdbcType=NVARCHAR}, + #{n1,jdbcType=DECIMAL}, #{n2,jdbcType=DECIMAL}, #{n3,jdbcType=DECIMAL}, #{t1,jdbcType=TIMESTAMP}, + #{t2,jdbcType=TIMESTAMP}, #{t3,jdbcType=TIMESTAMP}) + + + insert into Server_Machine + + + ServerName, + + + LastOnlineTime, + + + State, + + + LoginUser, + + + LoginPwd, + + + DocCount, + + + InfoCount, + + + WarningCount, + + + ErrorCount, + + + DoneCount, + + + LastUpdateTime, + + + C1, + + + C2, + + + C3, + + + C4, + + + C5, + + + N1, + + + N2, + + + N3, + + + T1, + + + T2, + + + T3, + + + + + #{servername,jdbcType=NVARCHAR}, + + + #{lastonlinetime,jdbcType=TIMESTAMP}, + + + #{state,jdbcType=INTEGER}, + + + #{loginuser,jdbcType=NVARCHAR}, + + + #{loginpwd,jdbcType=NVARCHAR}, + + + #{doccount,jdbcType=BIGINT}, + + + #{infocount,jdbcType=BIGINT}, + + + #{warningcount,jdbcType=BIGINT}, + + + #{errorcount,jdbcType=BIGINT}, + + + #{donecount,jdbcType=BIGINT}, + + + #{lastupdatetime,jdbcType=TIMESTAMP}, + + + #{c1,jdbcType=NVARCHAR}, + + + #{c2,jdbcType=NVARCHAR}, + + + #{c3,jdbcType=NVARCHAR}, + + + #{c4,jdbcType=NVARCHAR}, + + + #{c5,jdbcType=NVARCHAR}, + + + #{n1,jdbcType=DECIMAL}, + + + #{n2,jdbcType=DECIMAL}, + + + #{n3,jdbcType=DECIMAL}, + + + #{t1,jdbcType=TIMESTAMP}, + + + #{t2,jdbcType=TIMESTAMP}, + + + #{t3,jdbcType=TIMESTAMP}, + + + + + update Server_Machine + + + LastOnlineTime = #{lastonlinetime,jdbcType=TIMESTAMP}, + + + State = #{state,jdbcType=INTEGER}, + + + LoginUser = #{loginuser,jdbcType=NVARCHAR}, + + + LoginPwd = #{loginpwd,jdbcType=NVARCHAR}, + + + DocCount = #{doccount,jdbcType=BIGINT}, + + + InfoCount = #{infocount,jdbcType=BIGINT}, + + + WarningCount = #{warningcount,jdbcType=BIGINT}, + + + ErrorCount = #{errorcount,jdbcType=BIGINT}, + + + DoneCount = #{donecount,jdbcType=BIGINT}, + + + LastUpdateTime = #{lastupdatetime,jdbcType=TIMESTAMP}, + + + C1 = #{c1,jdbcType=NVARCHAR}, + + + C2 = #{c2,jdbcType=NVARCHAR}, + + + C3 = #{c3,jdbcType=NVARCHAR}, + + + C4 = #{c4,jdbcType=NVARCHAR}, + + + C5 = #{c5,jdbcType=NVARCHAR}, + + + N1 = #{n1,jdbcType=DECIMAL}, + + + N2 = #{n2,jdbcType=DECIMAL}, + + + N3 = #{n3,jdbcType=DECIMAL}, + + + T1 = #{t1,jdbcType=TIMESTAMP}, + + + T2 = #{t2,jdbcType=TIMESTAMP}, + + + T3 = #{t3,jdbcType=TIMESTAMP}, + + + where ServerName = #{servername,jdbcType=NVARCHAR} + + + update Server_Machine + set LastOnlineTime = #{lastonlinetime,jdbcType=TIMESTAMP}, + State = #{state,jdbcType=INTEGER}, + LoginUser = #{loginuser,jdbcType=NVARCHAR}, + LoginPwd = #{loginpwd,jdbcType=NVARCHAR}, + DocCount = #{doccount,jdbcType=BIGINT}, + InfoCount = #{infocount,jdbcType=BIGINT}, + WarningCount = #{warningcount,jdbcType=BIGINT}, + ErrorCount = #{errorcount,jdbcType=BIGINT}, + DoneCount = #{donecount,jdbcType=BIGINT}, + LastUpdateTime = #{lastupdatetime,jdbcType=TIMESTAMP}, + C1 = #{c1,jdbcType=NVARCHAR}, + C2 = #{c2,jdbcType=NVARCHAR}, + C3 = #{c3,jdbcType=NVARCHAR}, + C4 = #{c4,jdbcType=NVARCHAR}, + C5 = #{c5,jdbcType=NVARCHAR}, + N1 = #{n1,jdbcType=DECIMAL}, + N2 = #{n2,jdbcType=DECIMAL}, + N3 = #{n3,jdbcType=DECIMAL}, + T1 = #{t1,jdbcType=TIMESTAMP}, + T2 = #{t2,jdbcType=TIMESTAMP}, + T3 = #{t3,jdbcType=TIMESTAMP} + where ServerName = #{servername,jdbcType=NVARCHAR} + + + + \ No newline at end of file diff --git a/src/main/resources/mapper/TUuPrintMapper.xml b/src/main/resources/mapper/TUuPrintMapper.xml index b89be92..803f18e 100644 --- a/src/main/resources/mapper/TUuPrintMapper.xml +++ b/src/main/resources/mapper/TUuPrintMapper.xml @@ -199,4 +199,17 @@ hzName, cpyTime + + \ No newline at end of file diff --git a/src/main/resources/mapper/V_CountMapper.xml b/src/main/resources/mapper/V_CountMapper.xml index e7240a6..3ab20b4 100644 --- a/src/main/resources/mapper/V_CountMapper.xml +++ b/src/main/resources/mapper/V_CountMapper.xml @@ -18,12 +18,12 @@ - deptCode, deptName, inNum, outNum, fileNum, unfileNum, deathNum, fileRate, + deptCode, deptName, inNum, outNum, fileNum, deathNum, fileRate, day2Rate, day3Rate, day7Rate \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp index 6a5caa2..e21a353 100644 --- a/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp +++ b/src/main/webapp/WEB-INF/views/beHospitaledDir/beHospList.jsp @@ -233,6 +233,22 @@ +
+ + +
+
+ + +
@@ -839,7 +855,7 @@ - - + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp index 9fc9c67..0bd9f57 100644 --- a/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp +++ b/src/main/webapp/WEB-INF/views/lastVerifyDir/lastVerifyList.jsp @@ -166,9 +166,9 @@
+ maxlength="10" autocomplete="off" <%--value="${overDateSet}" --%>value="${startDate}"/> - - + value="${endDate}"/>
@@ -193,6 +193,22 @@
+
+ + +
+
+ + +
@@ -671,8 +687,8 @@ - - + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/record/deptOverTimeInfo.jsp b/src/main/webapp/WEB-INF/views/record/deptOverTimeInfo.jsp index 088bbb5..d440443 100644 --- a/src/main/webapp/WEB-INF/views/record/deptOverTimeInfo.jsp +++ b/src/main/webapp/WEB-INF/views/record/deptOverTimeInfo.jsp @@ -63,10 +63,10 @@
+ maxlength="10" autocomplete="off" value="${startDate}"/> - + maxlength="10" autocomplete="off" value="${endDate}"/>
@@ -143,7 +143,7 @@
- + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/record/submitRecord.jsp b/src/main/webapp/WEB-INF/views/record/submitRecord.jsp index 1c3bbc7..deaada0 100644 --- a/src/main/webapp/WEB-INF/views/record/submitRecord.jsp +++ b/src/main/webapp/WEB-INF/views/record/submitRecord.jsp @@ -99,10 +99,10 @@
+ maxlength="10" autocomplete="off" value="${startDate}"/> - + maxlength="10" autocomplete="off" value="${endDate}"/>
@@ -164,7 +164,7 @@
- + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/statistics/scanCount.jsp b/src/main/webapp/WEB-INF/views/statistics/scanCount.jsp index a80d4bd..1d0070a 100644 --- a/src/main/webapp/WEB-INF/views/statistics/scanCount.jsp +++ b/src/main/webapp/WEB-INF/views/statistics/scanCount.jsp @@ -59,10 +59,10 @@
+ maxlength="10" autocomplete="off" value="${startDate}"/> - + maxlength="10" autocomplete="off" value="${endDate}"/>
- + diff --git a/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp b/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp index 160a24b..bc686b8 100644 --- a/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp +++ b/src/main/webapp/WEB-INF/views/vCountDir/vCountList.jsp @@ -86,10 +86,10 @@
+ maxlength="10" autocomplete="off" value="${startDate}"/> - + maxlength="10" autocomplete="off" value="${endDate}"/>
@@ -129,5 +129,5 @@ - + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/workHome/callBackStatistics.jsp b/src/main/webapp/WEB-INF/views/workHome/callBackStatistics.jsp new file mode 100644 index 0000000..770179c --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/callBackStatistics.jsp @@ -0,0 +1,273 @@ +<%@ 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" %> + + + + + + + HIS退回病案统计 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/workHome/collectList.jsp b/src/main/webapp/WEB-INF/views/workHome/collectList.jsp new file mode 100644 index 0000000..becb455 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/collectList.jsp @@ -0,0 +1,140 @@ +<%@ 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" %> + + + + + + + 采集器状态 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/workHome/medicalRoomManage.jsp b/src/main/webapp/WEB-INF/views/workHome/medicalRoomManage.jsp new file mode 100644 index 0000000..ca1892a --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/medicalRoomManage.jsp @@ -0,0 +1,227 @@ +<%@ 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" %> + + + + + + + 病案室管理 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+
+ +
+
+
0
+
归档率
+
+
+
+
+
+
+ +
+
+
0
+
归档数量
+
+
+
+
+
+
+ +
+
+
0
+
待终审数量
+
+
+
+
+
+
+ +
+
+
0
+
出科数量
+
+
+
+
+
+
+ +
+
+
0
+
超期病历数量
+
+
+
+
+
+
+ +
+
+
0
+
预超期病历数量
+
+
+
+
+
+
+
+
+ +
+
+
0
+
签收数量
+
+
+
+
+
+
+ +
+
+
0
+
待签收数量
+
+
+
+
+
+
+ +
+
+
0
+
签收率
+
+
+
+
+
+
+ +
+
+
0
+
扫描数量
+
+
+
+
+
+
+ +
+
+
0
+
待扫描数量
+
+
+
+
+
+
+ +
+
+
0
+
扫描率
+
+
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/workHome/notSubmitRecord.jsp b/src/main/webapp/WEB-INF/views/workHome/notSubmitRecord.jsp new file mode 100644 index 0000000..fa171ae --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/notSubmitRecord.jsp @@ -0,0 +1,368 @@ +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> + + + + 病案未提交报表 + + + + + + <%@include file="../../jspf/comm.jspf" %> + + + + + + + + + + +
+
+
+
+ + 病案未提交报表 + +
+
+
+ +
+
+
+ +
+ + - + +
+
+
+ + +
+
+ + +
+
+ + +
+ <%--
+ + +
+
+ + +
--%> +
+ + +
+
+
+ +
+
+
+
+
+
+<%--查看流程弹窗--%> + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/workHome/recordData.jsp b/src/main/webapp/WEB-INF/views/workHome/recordData.jsp new file mode 100644 index 0000000..40baaba --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/recordData.jsp @@ -0,0 +1,331 @@ +<%@ 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" %> + + + + + + + 病案数据 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/workHome/workHomeIframe.jsp b/src/main/webapp/WEB-INF/views/workHome/workHomeIframe.jsp new file mode 100644 index 0000000..956a20a --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/workHomeIframe.jsp @@ -0,0 +1,123 @@ +<%@ 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" %> + + + + + + + 看板的内容页 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+

病案数据

+ +
+ + +
+ +
+
+ +
+
+
+
+
+
+

病案室管理

+ +
+ + +
+ +
+
+ +
+
+
+
+
+
+

HIS退回病历统计

+ +
+
+ + +
+
+ +
+
+
+ +
+
+
+
+
+
+
+

采集器状态

+ +
+ + +
+ +
+
+
+ +
+
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/workHome/workHomeList.jsp b/src/main/webapp/WEB-INF/views/workHome/workHomeList.jsp new file mode 100644 index 0000000..1d84849 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/workHome/workHomeList.jsp @@ -0,0 +1,116 @@ +<%@ 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" %> + + + + + + + 工作看板 + + + <%@include file="../../jspf/comm.jspf" %> + + + + + +
+
+
+
+ +
+ + - + +
+
+
+ + +
+ +
+
+
+
+ +
+ + + + diff --git a/src/main/webapp/static/bootstrap-3.3.7/bower_components/dashboard.js b/src/main/webapp/static/bootstrap-3.3.7/bower_components/dashboard.js new file mode 100644 index 0000000..05f2e7e --- /dev/null +++ b/src/main/webapp/static/bootstrap-3.3.7/bower_components/dashboard.js @@ -0,0 +1,210 @@ +/* + * Author: Abdullah A Almsaeed + * Date: 4 Jan 2014 + * Description: + * This is a demo file used only for the main dashboard (index.html) + **/ + +$(function () { + + 'use strict'; + + // Make the dashboard widgets sortable Using jquery UI + $('.connectedSortable').sortable({ + placeholder : 'sort-highlight', + connectWith : '.connectedSortable', + handle : '.box-header, .nav-tabs', + forcePlaceholderSize: true, + zIndex : 999999 + }); + $('.connectedSortable .box-header, .connectedSortable .nav-tabs-custom').css('cursor', 'move'); + + // jQuery UI sortable for the todo list + $('.todo-list').sortable({ + placeholder : 'sort-highlight', + handle : '.handle', + forcePlaceholderSize: true, + zIndex : 999999 + }); + + // bootstrap WYSIHTML5 - text editor + //$('.textarea').wysihtml5(); + + $('.daterange').daterangepicker({ + ranges : { + 'Today' : [moment(), moment()], + 'Yesterday' : [moment().subtract(1, 'days'), moment().subtract(1, 'days')], + 'Last 7 Days' : [moment().subtract(6, 'days'), moment()], + 'Last 30 Days': [moment().subtract(29, 'days'), moment()], + 'This Month' : [moment().startOf('month'), moment().endOf('month')], + 'Last Month' : [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')] + }, + startDate: moment().subtract(29, 'days'), + endDate : moment() + }, function (start, end) { + window.alert('You chose: ' + start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY')); + }); + + /* jQueryKnob */ + $('.knob').knob(); + + // jvectormap data + var visitorsData = { + US: 398, // USA + SA: 400, // Saudi Arabia + CA: 1000, // Canada + DE: 500, // Germany + FR: 760, // France + CN: 300, // China + AU: 700, // Australia + BR: 600, // Brazil + IN: 800, // India + GB: 320, // Great Britain + RU: 3000 // Russia + }; + // World map by jvectormap + $('#world-map').vectorMap({ + map : 'world_mill_en', + backgroundColor : 'transparent', + regionStyle : { + initial: { + fill : '#e4e4e4', + 'fill-opacity' : 1, + stroke : 'none', + 'stroke-width' : 0, + 'stroke-opacity': 1 + } + }, + series : { + regions: [ + { + values : visitorsData, + scale : ['#92c1dc', '#ebf4f9'], + normalizeFunction: 'polynomial' + } + ] + }, + onRegionLabelShow: function (e, el, code) { + if (typeof visitorsData[code] != 'undefined') + el.html(el.html() + ': ' + visitorsData[code] + ' new visitors'); + } + }); + + // Sparkline charts + var myvalues = [1000, 1200, 920, 927, 931, 1027, 819, 930, 1021]; + $('#sparkline-1').sparkline(myvalues, { + type : 'line', + lineColor: '#92c1dc', + fillColor: '#ebf4f9', + height : '50', + width : '80' + }); + myvalues = [515, 519, 520, 522, 652, 810, 370, 627, 319, 630, 921]; + $('#sparkline-2').sparkline(myvalues, { + type : 'line', + lineColor: '#92c1dc', + fillColor: '#ebf4f9', + height : '50', + width : '80' + }); + myvalues = [15, 19, 20, 22, 33, 27, 31, 27, 19, 30, 21]; + $('#sparkline-3').sparkline(myvalues, { + type : 'line', + lineColor: '#92c1dc', + fillColor: '#ebf4f9', + height : '50', + width : '80' + }); + + // The Calender + $('#calendar').datepicker(); + + // SLIMSCROLL FOR CHAT WIDGET + $('#chat-box').slimScroll({ + height: '250px' + }); + + /* Morris.js Charts */ + // Sales chart + var area = new Morris.Area({ + element : 'revenue-chart', + resize : true, + data : [ + { y: '2011 Q1', item1: 2666, item2: 2666 }, + { y: '2011 Q2', item1: 2778, item2: 2294 }, + { y: '2011 Q3', item1: 4912, item2: 1969 }, + { y: '2011 Q4', item1: 3767, item2: 3597 }, + { y: '2012 Q1', item1: 6810, item2: 1914 }, + { y: '2012 Q2', item1: 5670, item2: 4293 }, + { y: '2012 Q3', item1: 4820, item2: 3795 }, + { y: '2012 Q4', item1: 15073, item2: 5967 }, + { y: '2013 Q1', item1: 10687, item2: 4460 }, + { y: '2013 Q2', item1: 8432, item2: 5713 } + ], + xkey : 'y', + ykeys : ['item1', 'item2'], + labels : ['Item 1', 'Item 2'], + lineColors: ['#a0d0e0', '#3c8dbc'], + hideHover : 'auto' + }); + var line = new Morris.Line({ + element : 'line-chart', + resize : true, + data : [ + { y: '2011 Q1', item1: 2666 }, + { y: '2011 Q2', item1: 2778 }, + { y: '2011 Q3', item1: 4912 }, + { y: '2011 Q4', item1: 3767 }, + { y: '2012 Q1', item1: 6810 }, + { y: '2012 Q2', item1: 5670 }, + { y: '2012 Q3', item1: 4820 }, + { y: '2012 Q4', item1: 15073 }, + { y: '2013 Q1', item1: 10687 }, + { y: '2013 Q2', item1: 8432 } + ], + xkey : 'y', + ykeys : ['item1'], + labels : ['Item 1'], + lineColors : ['#efefef'], + lineWidth : 2, + hideHover : 'auto', + gridTextColor : '#fff', + gridStrokeWidth : 0.4, + pointSize : 4, + pointStrokeColors: ['#efefef'], + gridLineColor : '#efefef', + gridTextFamily : 'Open Sans', + gridTextSize : 10 + }); + + // Donut Chart + var donut = new Morris.Donut({ + element : 'sales-chart', + resize : true, + colors : ['#3c8dbc', '#f56954', '#00a65a'], + data : [ + { label: 'Download Sales', value: 12 }, + { label: 'In-Store Sales', value: 30 }, + { label: 'Mail-Order Sales', value: 20 } + ], + hideHover: 'auto' + }); + + // Fix for charts under tabs + $('.box ul.nav a').on('shown.bs.tab', function () { + area.redraw(); + donut.redraw(); + line.redraw(); + }); + + /* The todo list plugin */ + $('.todo-list').todoList({ + onCheck : function () { + window.console.log($(this), 'The element has been checked'); + }, + onUnCheck: function () { + window.console.log($(this), 'The element has been unchecked'); + } + }); + +}); diff --git a/src/main/webapp/static/img/green.png b/src/main/webapp/static/img/green.png new file mode 100644 index 0000000..d1b9abd Binary files /dev/null and b/src/main/webapp/static/img/green.png differ diff --git a/src/main/webapp/static/img/orange.png b/src/main/webapp/static/img/orange.png new file mode 100644 index 0000000..f6badb5 Binary files /dev/null and b/src/main/webapp/static/img/orange.png differ diff --git a/src/main/webapp/static/img/red.png b/src/main/webapp/static/img/red.png new file mode 100644 index 0000000..88d5af2 Binary files /dev/null and b/src/main/webapp/static/img/red.png differ diff --git a/src/main/webapp/static/js/beHospList/beHospList.js b/src/main/webapp/static/js/beHospList/beHospList.js index 0dfb749..ead942c 100644 --- a/src/main/webapp/static/js/beHospList/beHospList.js +++ b/src/main/webapp/static/js/beHospList/beHospList.js @@ -71,7 +71,9 @@ function initTable() { roles:$("#searchOperRole").val(), isSuccess:$("#isSuccessSearch").val(), infoId:$("#infoId").val(), - operRole:$("#checker").val() + operRole:$("#checker").val(), + callBackStatus:$("#callBackStatus").val(), + printStatus:$("#printStatus").val() }; return temp; }, @@ -148,6 +150,32 @@ function initTable() { } } }, + { + title: 'HIS召回状态', + field: 'callBackStatus', + align: 'center', + valign: 'middle', + formatter:function(value, row){ + if(value == '是'){ + return ''; + }else{ + return ''; + } + } + }, + { + title: '打印状态', + field: 'printStatus', + align: 'center', + valign: 'middle', + formatter:function(value, row){ + if(value == '是'){ + return ''; + }else{ + return ''; + } + } + }, { title: "操作", align: 'left', diff --git a/src/main/webapp/static/js/comm.js b/src/main/webapp/static/js/comm.js index bee1d13..83cc9fa 100644 --- a/src/main/webapp/static/js/comm.js +++ b/src/main/webapp/static/js/comm.js @@ -389,3 +389,17 @@ $.ajaxSetup({ } } }); +//获取url上的参数 +function setSearchWhere(startDateId,endDateId){ + var params = window.location.search; + if(params != '') { + params = params.substring(1,params.length); + var paramArr = params.split("&"); + if (paramArr != '') { + var startDateTo = paramArr[0].split("=")[1]; + var endDateTo = paramArr[1].split("=")[1]; + $("#" + startDateId).val(startDateTo); + $("#" + endDateId).val(endDateTo); + } + } +} diff --git a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js index f4c974f..4eb18d8 100644 --- a/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js +++ b/src/main/webapp/static/js/hospitalCommom/hospitalCommom.js @@ -55,7 +55,7 @@ function loadDoctorInCharge(){ //判断是否需要选中 var flag = $("#flag").val(); var currentRole = $("#roleId").val(); - if(flag == 1 && currentRole == 1){ + if(currentRole == 1){ if($("#currentName").val() == name){ selected = 'selected'; } @@ -581,7 +581,7 @@ function initTable2() { paginationShowPageGo: true, pageList: [10, 20, 50, 100], // 如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。 smartDisplay: false, - pageSize: 2, // 页面数据条数 + pageSize: 20, // 页面数据条数 pageNumber: 1, // 初始化加载第一页,默认第一页 sidePagination: 'server', // 设置为服务器端分页 客户端:client search: false, diff --git a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js index 360bbf5..c609946 100644 --- a/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js +++ b/src/main/webapp/static/js/lastVerifyList/lastVerifyList.js @@ -74,7 +74,9 @@ function initTable() { doctorInCharge:$("#doctorInCharge").val(), isSign:$("#isSign").val(), isSearch:$("#isSearch").val(), - checkName:$("#checkName").val() + checkName:$("#checkName").val(), + callBackStatus:$("#callBackStatus").val(), + printStatus:$("#printStatus").val() }; return temp; }, @@ -186,6 +188,32 @@ function initTable() { return str; } }, + { + title: 'HIS召回状态', + field: 'callBackStatus', + align: 'center', + valign: 'middle', + formatter:function(value, row){ + if(value == '是'){ + return ''; + }else{ + return ''; + } + } + }, + { + title: '打印状态', + field: 'printStatus', + align: 'center', + valign: 'middle', + formatter:function(value, row){ + if(value == '是'){ + return ''; + }else{ + return ''; + } + } + }, { title: "操作", align: 'left', @@ -309,7 +337,7 @@ function initTable() { onLoadSuccess: function (result) { //加载成功时执行 $(".page-list").show(); tipLoad = 0; - reloadTableHeight("table"); + //reloadTableHeight("table"); }, onLoadError: function () { //加载失败时执行 tipLoad = 0; @@ -628,13 +656,13 @@ $(function () { //日期控件 var url = window.location.href; var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", ""); - if (index != null && index != "" && index.indexOf("excel") != -1) { + /*if (index != null && index != "" && index.indexOf("excel") != -1) { $("#excelBtn").show(); $("#toolbar").show(); } else { $("#excelBtn").hide(); $(".columns-right").hide(); - } + }*/ if (index != null && index != "" && index.indexOf("upload") != -1) { $("#uploadBtn").show(); } else { diff --git a/src/main/webapp/static/js/menu.js b/src/main/webapp/static/js/menu.js index d31dfac..6a08fd8 100644 --- a/src/main/webapp/static/js/menu.js +++ b/src/main/webapp/static/js/menu.js @@ -4,6 +4,7 @@ var sysFlag = 'emr_medical_record'; var userId = $("#userId").val(); //默认菜单 var defaultUrl = ''; +//var defaultUrlReal = '/workHome/workHomeList'; var defaultUrlReal = '/beHosp/beHosps'; var sysULReal = ''; var defaultUrlMenuId = ''; diff --git a/src/main/webapp/static/js/statistics/scanCount.js b/src/main/webapp/static/js/statistics/scanCount.js index 7bb1081..58e6432 100644 --- a/src/main/webapp/static/js/statistics/scanCount.js +++ b/src/main/webapp/static/js/statistics/scanCount.js @@ -118,7 +118,7 @@ function initTable() { onLoadSuccess: function (result) { //加载成功时执行 $(".page-list").show(); tipLoad =0; - reloadTableHeight("table"); + //reloadTableHeight("table"); }, onLoadError: function () { //加载失败时执行 tipLoad = 0; diff --git a/src/main/webapp/static/js/statistics/statisticsCommom.js b/src/main/webapp/static/js/statistics/statisticsCommom.js index 38c9dff..3250fd8 100644 --- a/src/main/webapp/static/js/statistics/statisticsCommom.js +++ b/src/main/webapp/static/js/statistics/statisticsCommom.js @@ -87,13 +87,13 @@ function post(url, params) { //控制导出excel权限 var url = window.location.href; var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", ""); -if (index != null && index != "" && index.indexOf("export") != -1) { +/*if (index != null && index != "" && index.indexOf("export") != -1) { $("#excelBtn").show(); $("#toolbar").show(); } else { $("#excelBtn").hide(); $(".columns-right").hide(); -} +}*/ //格式化百分比 function formatPercent(value){ if(value != null){ diff --git a/src/main/webapp/static/js/vCount/vCountList.js b/src/main/webapp/static/js/vCount/vCountList.js index 42128b2..98da5e4 100644 --- a/src/main/webapp/static/js/vCount/vCountList.js +++ b/src/main/webapp/static/js/vCount/vCountList.js @@ -2,18 +2,19 @@ var tipLoad = 1; //定义表格内容最大高度 var maxHeight = 0; $(function () { + initTable(); getDept(); //日期控件 initDateInput('startDate', 'endDate'); var url = window.location.href; var index = url.substring(url.lastIndexOf('?') + 1).replace("num=", ""); - if (index != null && index != "" && index.indexOf("excel") != -1) { + /* if (index != null && index != "" && index.indexOf("excel") != -1) { $("#excelBtn").show(); $("#toolbar").show(); } else { $("#excelBtn").hide(); $(".columns-right").hide(); - } + }*/ if (index != null && index != "" && index.indexOf("excel2") != -1) { $("#excelBtn2").show(); } else { @@ -782,8 +783,6 @@ $('#searchBtn').click(function () { } }); -initTable(); - //2.初始化select的change事件 $("#sel_exportoption").change(function () { $('#table').bootstrapTable('refreshOptions', {