|
@@ -21,6 +21,7 @@ import javax.validation.Valid;
|
|
|
|
|
|
import com.diagbot.dto.*;
|
|
|
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
|
|
+import com.diagbot.vo.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -57,22 +58,6 @@ import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.ObjectUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.util.SysUserUtils;
|
|
|
-import com.diagbot.vo.AlgorithmVO;
|
|
|
-import com.diagbot.vo.BehospitalPageVO;
|
|
|
-import com.diagbot.vo.CaseScoreVO;
|
|
|
-import com.diagbot.vo.EntryStatisticsVO;
|
|
|
-import com.diagbot.vo.FilterMedicalCheckVO;
|
|
|
-import com.diagbot.vo.FilterOrderVO;
|
|
|
-import com.diagbot.vo.FilterPageByAverageVO;
|
|
|
-import com.diagbot.vo.FilterPageVO;
|
|
|
-import com.diagbot.vo.FilterUnModifyMRVO;
|
|
|
-import com.diagbot.vo.FilterVO;
|
|
|
-import com.diagbot.vo.IndexTimeVO;
|
|
|
-import com.diagbot.vo.MedIndexFilterVO;
|
|
|
-import com.diagbot.vo.QcResultAlgVO;
|
|
|
-import com.diagbot.vo.QcResultPageVO;
|
|
|
-import com.diagbot.vo.QcResultShortPageVO;
|
|
|
-import com.diagbot.vo.ReBeHosPageVO;
|
|
|
import com.google.common.collect.Lists;
|
|
|
|
|
|
import io.github.lvyahui8.spring.aggregate.facade.DataBeanAggregateQueryFacade;
|
|
@@ -3153,6 +3138,247 @@ public class ConsoleFacade {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 未整改病历统计
|
|
|
+ *
|
|
|
+ * @param filterTimelinessVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public UnModifyMRDTO TimelinessReportA(FilterTimelinessVO filterTimelinessVO) {
|
|
|
+ UnModifyMRDTO unModifyMRDTO = new UnModifyMRDTO();
|
|
|
+ List<Object> retList = Lists.newLinkedList();
|
|
|
+ List<ColumnDTO> columns = Lists.newLinkedList();
|
|
|
+
|
|
|
+ Integer orderNo = 1;
|
|
|
+ ColumnDTO columnHospitalCode = new ColumnDTO();
|
|
|
+ columnHospitalCode.setOrderNo(orderNo);
|
|
|
+ columnHospitalCode.setFieldName("hospitalCode");
|
|
|
+ columnHospitalCode.setColumnName("病人住院序号");
|
|
|
+ columnHospitalCode.setIsShow(1);
|
|
|
+ columns.add(columnHospitalCode);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnName = new ColumnDTO();
|
|
|
+ columnName.setOrderNo(orderNo);
|
|
|
+ columnName.setFieldName("name");
|
|
|
+ columnName.setColumnName("病人姓名");
|
|
|
+ columnName.setIsShow(1);
|
|
|
+ columns.add(columnName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnSex = new ColumnDTO();
|
|
|
+ columnSex.setOrderNo(orderNo);
|
|
|
+ columnSex.setFieldName("sex");
|
|
|
+ columnSex.setColumnName("性别");
|
|
|
+ columnSex.setIsShow(1);
|
|
|
+ columns.add(columnSex);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnFileCode = new ColumnDTO();
|
|
|
+ columnFileCode.setOrderNo(orderNo);
|
|
|
+ columnFileCode.setFieldName("fileCode");
|
|
|
+ columnFileCode.setColumnName("病案号");
|
|
|
+ columnFileCode.setIsShow(1);
|
|
|
+ columns.add(columnFileCode);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnDoctorName = new ColumnDTO();
|
|
|
+ columnDoctorName.setOrderNo(orderNo);
|
|
|
+ columnDoctorName.setFieldName("doctorName");
|
|
|
+ columnDoctorName.setColumnName("主管医生");
|
|
|
+ columnDoctorName.setIsShow(1);
|
|
|
+ columns.add(columnDoctorName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnDeptName = new ColumnDTO();
|
|
|
+ columnDeptName.setOrderNo(orderNo);
|
|
|
+ columnDeptName.setFieldName("behDeptName");
|
|
|
+ columnDeptName.setColumnName("住院科室");
|
|
|
+ columnDeptName.setIsShow(1);
|
|
|
+ columns.add(columnDeptName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnRuleName = new ColumnDTO();
|
|
|
+ columnRuleName.setOrderNo(orderNo);
|
|
|
+ columnRuleName.setFieldName("ruleName");
|
|
|
+ columnRuleName.setColumnName("规则名称");
|
|
|
+ columnRuleName.setIsShow(1);
|
|
|
+ columns.add(columnRuleName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnBehospitalDate = new ColumnDTO();
|
|
|
+ columnBehospitalDate.setOrderNo(orderNo);
|
|
|
+ columnBehospitalDate.setFieldName("behospitalDate");
|
|
|
+ columnBehospitalDate.setColumnName("入院日期");
|
|
|
+ columnBehospitalDate.setIsShow(1);
|
|
|
+ columns.add(columnBehospitalDate);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnBehospitalGmtCreate = new ColumnDTO();
|
|
|
+ columnBehospitalGmtCreate.setOrderNo(orderNo);
|
|
|
+ columnBehospitalGmtCreate.setFieldName("behospitalGmtCreate");
|
|
|
+ columnBehospitalGmtCreate.setColumnName("入院记录创建时间");
|
|
|
+ columnBehospitalGmtCreate.setIsShow(1);
|
|
|
+ columns.add(columnBehospitalGmtCreate);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnIsPlacefile = new ColumnDTO();
|
|
|
+ columnIsPlacefile.setOrderNo(orderNo);
|
|
|
+ columnIsPlacefile.setFieldName("isPlacefile");
|
|
|
+ columnIsPlacefile.setColumnName("是否归档");
|
|
|
+ columnIsPlacefile.setIsShow(1);
|
|
|
+ columns.add(columnIsPlacefile);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ Date startDate = filterTimelinessVO.getStartDate();
|
|
|
+ Date endDate = filterTimelinessVO.getEndDate();
|
|
|
+
|
|
|
+ if (endDate.getTime() < startDate.getTime()) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
|
|
|
+ }
|
|
|
+
|
|
|
+ QcResultShortPageVO qcResultShortPageVO = new QcResultShortPageVO();
|
|
|
+ qcResultShortPageVO.setStartDate(startDate);
|
|
|
+ qcResultShortPageVO.setEndDate(endDate);
|
|
|
+
|
|
|
+ for (String casesEntryId : filterTimelinessVO.getCasesEntryIds()) {
|
|
|
+ if (casesEntryId.equals("3241")) {
|
|
|
+ List<ExportReportDetailaDTO> unfinishedFirst = behospitalInfoFacade.getUnfinishedFirst_HZQY(qcResultShortPageVO);
|
|
|
+ retList.addAll(unfinishedFirst);
|
|
|
+ } else if (casesEntryId.equals("3242")) {
|
|
|
+ List<ExportReportDetailaDTO> unfinishedIn = behospitalInfoFacade.getUnfinishedIn_HZQY(qcResultShortPageVO);
|
|
|
+ retList.addAll(unfinishedIn);
|
|
|
+ } else if (casesEntryId.equals("3243")) {
|
|
|
+ List<ExportReportDetailaDTO> unfinishedSuicide = behospitalInfoFacade.getUnfinishedSuicide_HZQY(qcResultShortPageVO);
|
|
|
+ retList.addAll(unfinishedSuicide);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ unModifyMRDTO.setColumns(columns);
|
|
|
+ unModifyMRDTO.setData(retList);
|
|
|
+ return unModifyMRDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 未整改病历统计
|
|
|
+ *
|
|
|
+ * @param filterTimelinessVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public UnModifyMRDTO TimelinessReportB(FilterTimelinessVO filterTimelinessVO) {
|
|
|
+ UnModifyMRDTO unModifyMRDTO = new UnModifyMRDTO();
|
|
|
+ List<Object> retList = Lists.newLinkedList();
|
|
|
+ List<ColumnDTO> columns = Lists.newLinkedList();
|
|
|
+
|
|
|
+ Integer orderNo = 1;
|
|
|
+ ColumnDTO columnHospitalCode = new ColumnDTO();
|
|
|
+ columnHospitalCode.setOrderNo(orderNo);
|
|
|
+ columnHospitalCode.setFieldName("hospitalCode");
|
|
|
+ columnHospitalCode.setColumnName("病人住院序号");
|
|
|
+ columnHospitalCode.setIsShow(1);
|
|
|
+ columns.add(columnHospitalCode);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnName = new ColumnDTO();
|
|
|
+ columnName.setOrderNo(orderNo);
|
|
|
+ columnName.setFieldName("name");
|
|
|
+ columnName.setColumnName("病人姓名");
|
|
|
+ columnName.setIsShow(1);
|
|
|
+ columns.add(columnName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnSex = new ColumnDTO();
|
|
|
+ columnSex.setOrderNo(orderNo);
|
|
|
+ columnSex.setFieldName("sex");
|
|
|
+ columnSex.setColumnName("性别");
|
|
|
+ columnSex.setIsShow(1);
|
|
|
+ columns.add(columnSex);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnFileCode = new ColumnDTO();
|
|
|
+ columnFileCode.setOrderNo(orderNo);
|
|
|
+ columnFileCode.setFieldName("fileCode");
|
|
|
+ columnFileCode.setColumnName("病案号");
|
|
|
+ columnFileCode.setIsShow(1);
|
|
|
+ columns.add(columnFileCode);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnDoctorName = new ColumnDTO();
|
|
|
+ columnDoctorName.setOrderNo(orderNo);
|
|
|
+ columnDoctorName.setFieldName("doctorName");
|
|
|
+ columnDoctorName.setColumnName("主管医生");
|
|
|
+ columnDoctorName.setIsShow(1);
|
|
|
+ columns.add(columnDoctorName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnDeptName = new ColumnDTO();
|
|
|
+ columnDeptName.setOrderNo(orderNo);
|
|
|
+ columnDeptName.setFieldName("behDeptName");
|
|
|
+ columnDeptName.setColumnName("住院科室");
|
|
|
+ columnDeptName.setIsShow(1);
|
|
|
+ columns.add(columnDeptName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnRuleName = new ColumnDTO();
|
|
|
+ columnRuleName.setOrderNo(orderNo);
|
|
|
+ columnRuleName.setFieldName("ruleName");
|
|
|
+ columnRuleName.setColumnName("规则名称");
|
|
|
+ columnRuleName.setIsShow(1);
|
|
|
+ columns.add(columnRuleName);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnRemark = new ColumnDTO();
|
|
|
+ columnRemark.setOrderNo(orderNo);
|
|
|
+ columnRemark.setFieldName("remark");
|
|
|
+ columnRemark.setColumnName("备注");
|
|
|
+ columnRemark.setIsShow(1);
|
|
|
+ columns.add(columnRemark);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnBehospitalDate = new ColumnDTO();
|
|
|
+ columnBehospitalDate.setOrderNo(orderNo);
|
|
|
+ columnBehospitalDate.setFieldName("behospitalDate");
|
|
|
+ columnBehospitalDate.setColumnName("入院日期");
|
|
|
+ columnBehospitalDate.setIsShow(1);
|
|
|
+ columns.add(columnBehospitalDate);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ ColumnDTO columnIsPlacefile = new ColumnDTO();
|
|
|
+ columnIsPlacefile.setOrderNo(orderNo);
|
|
|
+ columnIsPlacefile.setFieldName("isPlacefile");
|
|
|
+ columnIsPlacefile.setColumnName("是否归档");
|
|
|
+ columnIsPlacefile.setIsShow(1);
|
|
|
+ columns.add(columnIsPlacefile);
|
|
|
+ orderNo++;
|
|
|
+
|
|
|
+ Date startDate = filterTimelinessVO.getStartDate();
|
|
|
+ Date endDate = filterTimelinessVO.getEndDate();
|
|
|
+
|
|
|
+ if (endDate.getTime() < startDate.getTime()) {
|
|
|
+ throw new CommonException(CommonErrorCode.PARAM_ERROR, "截止时间不能小于起始时间");
|
|
|
+ }
|
|
|
+
|
|
|
+ QcResultShortPageVO qcResultShortPageVO = new QcResultShortPageVO();
|
|
|
+ qcResultShortPageVO.setStartDate(startDate);
|
|
|
+ qcResultShortPageVO.setEndDate(endDate);
|
|
|
+ List<String> casesEntryIds = filterTimelinessVO.getCasesEntryIds();
|
|
|
+ for (String casesEntryId : casesEntryIds) {
|
|
|
+ if (casesEntryId.equals("3240")) {
|
|
|
+ List<ExportReportDetailbDTO> unfinishedThree = behospitalInfoFacade.getUnfinishedThree_HZQY(qcResultShortPageVO);
|
|
|
+ retList.addAll(unfinishedThree);
|
|
|
+ } else if (casesEntryId.equals("3244")) {
|
|
|
+ List<ExportReportDetailbDTO> unfinishedSix = behospitalInfoFacade.getUnfinishedSix_HZQY(qcResultShortPageVO);
|
|
|
+ retList.addAll(unfinishedSix);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ unModifyMRDTO.setColumns(columns);
|
|
|
+ unModifyMRDTO.setData(retList);
|
|
|
+ return unModifyMRDTO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 未整改病历质控评分页(内页)
|
|
|
*
|