|
@@ -10,6 +10,7 @@ import com.diagbot.dto.QcResultPercentDTO;
|
|
|
import com.diagbot.exception.CommonErrorCode;
|
|
|
import com.diagbot.exception.CommonException;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
+import com.diagbot.util.DateUtil;
|
|
|
import com.diagbot.util.EntityUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.SysUserUtils;
|
|
@@ -26,6 +27,7 @@ import java.math.RoundingMode;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.Collections;
|
|
|
import java.util.Comparator;
|
|
|
+import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.LinkedHashMap;
|
|
|
import java.util.List;
|
|
@@ -53,6 +55,10 @@ public class ConsoleFacade {
|
|
|
private QcresultInfoFacade qcresultInfoFacade;
|
|
|
@Autowired
|
|
|
private QcCasesFacade qcCasesFacade;
|
|
|
+ @Autowired
|
|
|
+ private HomePageFacade homePageFacade;
|
|
|
+ @Autowired
|
|
|
+ private BehospitalInfoFacade behospitalInfoFacade;
|
|
|
|
|
|
//-----------------------聚合接口开始-------------------------------
|
|
|
|
|
@@ -303,10 +309,30 @@ public class ConsoleFacade {
|
|
|
|
|
|
//_______________________分页接口开始-------------------------------
|
|
|
|
|
|
+ /**
|
|
|
+ * 过滤条件设置
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ */
|
|
|
private void filterPageVOSet(FilterPageVO filterPageVO) {
|
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
|
- String startDate = filterFacade.getStartDateStr(filterPageVO.getType(), null);
|
|
|
- String endDate = filterFacade.getEndDateStr(filterPageVO.getType(), null);
|
|
|
+ String startDate = "";
|
|
|
+ String endDate = "";
|
|
|
+ Date date = new Date();
|
|
|
+
|
|
|
+ //1-本月,2-本年,3-上月,4-去年本月,5-去年
|
|
|
+ if (filterPageVO.getType().equals(1) || filterPageVO.getType().equals(2)) {
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageVO.getType(), null);
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageVO.getType(), null);
|
|
|
+ } else if (filterPageVO.getType().equals(3) || filterPageVO.getType().equals(5)) {
|
|
|
+ startDate = filterFacade.getLastStartDateStr(filterPageVO.getType());
|
|
|
+ endDate = filterFacade.getLastEndDateStr(filterPageVO.getType());
|
|
|
+ } else if (filterPageVO.getType().equals(4)) {
|
|
|
+ String year = DateUtil.getYear(date);
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageVO.getType(), Integer.valueOf(year) - 1);
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageVO.getType(), Integer.valueOf(year) - 1);
|
|
|
+ }
|
|
|
+
|
|
|
filterPageVO.setStartDate(startDate);
|
|
|
filterPageVO.setEndDate(endDate);
|
|
|
filterPageVO.setHospitalId(hospitalId);
|
|
@@ -399,5 +425,65 @@ public class ConsoleFacade {
|
|
|
page.setRecords(records);
|
|
|
return page;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 按科室统计平均住院天数(分页)
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<AverageStatisticsDTO> getAverageDayNumPage(FilterPageVO filterPageVO) {
|
|
|
+ filterPageVOSet(filterPageVO);
|
|
|
+ IPage<AverageStatisticsDTO> page = homePageFacade.getAverageDayNumPage(filterPageVO);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 按科室统计平均住院费用(分页)
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<AverageStatisticsDTO> getAverageFeePage(FilterPageVO filterPageVO) {
|
|
|
+ filterPageVOSet(filterPageVO);
|
|
|
+ IPage<AverageStatisticsDTO> page = homePageFacade.getAverageFeePage(filterPageVO);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 各科室质控平均分(分页)
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<AverageStatisticsDTO> getAverageScoreByDeptPage(FilterPageVO filterPageVO) {
|
|
|
+ filterPageVOSet(filterPageVO);
|
|
|
+ IPage<AverageStatisticsDTO> page = qcresultInfoFacade.getAverageScoreByDeptPage(filterPageVO);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 各科室缺陷占比排行(分页)
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<NumDTO> resultStatisticsByDeptPage(FilterPageVO filterPageVO) {
|
|
|
+ filterPageVOSet(filterPageVO);
|
|
|
+ IPage<NumDTO> page = behospitalInfoFacade.resultStatisticsByDeptPage(filterPageVO);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 各科室甲级病历占比排行(分页)
|
|
|
+ *
|
|
|
+ * @param filterPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<QcResultPercentDTO> levelPercentGroupByDeptPage(FilterPageVO filterPageVO) {
|
|
|
+ filterPageVOSet(filterPageVO);
|
|
|
+ IPage<QcResultPercentDTO> page = qcresultInfoFacade.levelPercentGroupByDeptPage(filterPageVO);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
//-----------------------分页接口结束-------------------------------
|
|
|
}
|