|
@@ -160,14 +160,81 @@ public class ConsoleFacade {
|
|
|
*/
|
|
|
public Map<String, Object> getAverageScore(FilterVO filterVO) {
|
|
|
Map<String, Object> retMap = new HashMap<>();
|
|
|
- filterFacade.filterVOSet(filterVO);
|
|
|
+ filterFacade.filterVOSame(filterVO);
|
|
|
List<AverageStatisticsDTO> averageScoreList = averageStatisticsAggregate.getAverageScore(filterVO);
|
|
|
+
|
|
|
+ AverageStatisticsDTO item = getGlobleAverageTitle(averageScoreList);
|
|
|
+ if (item != null) {
|
|
|
+ averageScoreList.add(0, item);
|
|
|
+ }
|
|
|
+
|
|
|
if (ListUtil.isNotEmpty(averageScoreList)) {
|
|
|
retMap.put("各科室质控平均分", averageScoreList);
|
|
|
}
|
|
|
return retMap;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 增加全院记录
|
|
|
+ *
|
|
|
+ * @param records
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public AverageStatisticsDTO getGlobleAverageTitle(List<AverageStatisticsDTO> records) {
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
+ AverageStatisticsDTO item = new AverageStatisticsDTO();
|
|
|
+ if (ListUtil.isEmpty(records)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //数量
|
|
|
+ Integer num = records
|
|
|
+ .stream()
|
|
|
+ .map(AverageStatisticsDTO::getNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同期数量
|
|
|
+ Integer sameNum = records
|
|
|
+ .stream()
|
|
|
+ .map(AverageStatisticsDTO::getSameNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ Double totleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double sameTotleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getSameTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double averageValue = 0d;
|
|
|
+ if(0 != num){
|
|
|
+ averageValue = BigDecimal.valueOf(totleValue)
|
|
|
+ .divide(BigDecimal.valueOf(num), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+ Double lastYearAverageValue = 0d;
|
|
|
+ if(0 != sameNum) {
|
|
|
+ lastYearAverageValue = BigDecimal.valueOf(sameTotleValue)
|
|
|
+ .divide(BigDecimal.valueOf(sameNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ item.setName("全院");
|
|
|
+ item.setNum(num);
|
|
|
+ item.setSameNum(sameNum);
|
|
|
+ item.setAverageValue(averageValue);
|
|
|
+ item.setTotleValue(totleValue);
|
|
|
+ item.setSameTotleValue(sameTotleValue);
|
|
|
+ item.setLastYearAverageValue(lastYearAverageValue);
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 各科室质控平均分(首页)-根据内外科系统统计
|
|
|
*
|
|
@@ -175,7 +242,7 @@ public class ConsoleFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<AverageStatisticsDTO> getAverageScoreByDeptClass(FilterVO filterVO) {
|
|
|
- filterFacade.filterVOSet(filterVO);
|
|
|
+ filterFacade.filterVOSame(filterVO);
|
|
|
List<AverageStatisticsDTO> retAverageScoreList = Lists.newLinkedList();
|
|
|
List<AverageStatisticsDTO> averageScoreList = qcresultInfoFacade.getAverageScoreByDeptClass(filterVO);
|
|
|
Integer limitCount = filterVO.getLimitCount();
|
|
@@ -183,9 +250,77 @@ public class ConsoleFacade {
|
|
|
if (ListUtil.isNotEmpty(averageScoreList)) {
|
|
|
retAverageScoreList = averageStatisticsAggregate.getLimitAverageList(averageScoreList, limitCount);
|
|
|
}
|
|
|
+ AverageStatisticsDTO item = getGlobleInOutTitle(retAverageScoreList,filterVO);
|
|
|
+ if (item != null) {
|
|
|
+ retAverageScoreList.add(0, item);
|
|
|
+ }
|
|
|
return retAverageScoreList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 增加内外科记录
|
|
|
+ *
|
|
|
+ * @param records
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public AverageStatisticsDTO getGlobleInOutTitle(List<AverageStatisticsDTO> records,FilterVO filterVO) {
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
+ AverageStatisticsDTO item = new AverageStatisticsDTO();
|
|
|
+ if (ListUtil.isEmpty(records)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //数量
|
|
|
+ Integer num = records
|
|
|
+ .stream()
|
|
|
+ .map(AverageStatisticsDTO::getNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同期数量
|
|
|
+ Integer sameNum = records
|
|
|
+ .stream()
|
|
|
+ .map(AverageStatisticsDTO::getSameNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ Double totleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double sameTotleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getSameTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double averageValue = 0d;
|
|
|
+ if(0 != num){
|
|
|
+ averageValue = BigDecimal.valueOf(totleValue)
|
|
|
+ .divide(BigDecimal.valueOf(num), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+ Double lastYearAverageValue = 0d;
|
|
|
+ if(0 != sameNum) {
|
|
|
+ lastYearAverageValue = BigDecimal.valueOf(sameTotleValue)
|
|
|
+ .divide(BigDecimal.valueOf(sameNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+ if("内科".equals(filterVO.getDeptClass())){
|
|
|
+ item.setName("内科系统");
|
|
|
+ }else{
|
|
|
+ item.setName("外科系统");
|
|
|
+ }
|
|
|
+ item.setNum(num);
|
|
|
+ item.setSameNum(sameNum);
|
|
|
+ item.setAverageValue(averageValue);
|
|
|
+ item.setTotleValue(totleValue);
|
|
|
+ item.setSameTotleValue(sameTotleValue);
|
|
|
+ item.setLastYearAverageValue(lastYearAverageValue);
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 各科室甲级病历占比
|
|
|
*
|
|
@@ -446,8 +581,254 @@ public class ConsoleFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<LevelStatisticsDTO> levelStatistics(FilterOrderVO filterOrderVO) {
|
|
|
- filterFacade.filterOrderVOSet(filterOrderVO);
|
|
|
+ filterFacade.filterOrderVOSame(filterOrderVO);
|
|
|
+ List<LevelStatisticsDTO> records = behospitalInfoFacade.levelStatistics(filterOrderVO);
|
|
|
+ //没有科室过滤时增加全院数据
|
|
|
+ if (StringUtil.isBlank(filterOrderVO.getName()) || filterOrderVO.getName().equals("全院")) {
|
|
|
+ LevelStatisticsDTO item = getGlobleTitle(records);
|
|
|
+ if (item != null) {
|
|
|
+ records.add(0, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ListUtil.isNotEmpty(records)){
|
|
|
+ for (LevelStatisticsDTO record : records) {
|
|
|
+ BigDecimalMethod(record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return records;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 各科室缺陷占比(组合)-导出
|
|
|
+ *
|
|
|
+ * @param filterOrderVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<LevelStatisticsDTO> levelStatisticsStr(FilterOrderVO filterOrderVO) {
|
|
|
+ filterFacade.filterOrderVOSame(filterOrderVO);
|
|
|
List<LevelStatisticsDTO> records = behospitalInfoFacade.levelStatistics(filterOrderVO);
|
|
|
+ //没有科室过滤时增加全院数据
|
|
|
+ if (StringUtil.isBlank(filterOrderVO.getName()) || filterOrderVO.getName().equals("全院")) {
|
|
|
+ LevelStatisticsDTO item = getGlobleTitle(records);
|
|
|
+ if (item != null) {
|
|
|
+ records.add(0, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ListUtil.isNotEmpty(records)){
|
|
|
+ for (LevelStatisticsDTO record : records) {
|
|
|
+ BigDecimalStrExport(record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return records;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 增加全院记录
|
|
|
+ *
|
|
|
+ * @param records
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public LevelStatisticsDTO getGlobleTitle(List<LevelStatisticsDTO> records) {
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
+ LevelStatisticsDTO item = new LevelStatisticsDTO();
|
|
|
+ if (ListUtil.isEmpty(records)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //缺陷总数
|
|
|
+ Integer entryNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getEntryNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ if (entryNum == null || entryNum == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //同比总数
|
|
|
+ Integer sameNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSameNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //质控病历数
|
|
|
+ Integer mrNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getMrNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ //同比病历数
|
|
|
+ Integer sameMrNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSameMrNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //质控评分
|
|
|
+ Double totleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+ //同比质控评分
|
|
|
+ Double sameTotleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getSameTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ //质控平均分
|
|
|
+ Double averageValue = BigDecimal.valueOf(totleValue)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double sameAvgValue = 0d;
|
|
|
+ //同比平均分
|
|
|
+ if(0d != sameTotleValue){
|
|
|
+ sameAvgValue = BigDecimal.valueOf(sameTotleValue)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //甲级病历数
|
|
|
+ Integer firstLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getFirstLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比甲级病历数
|
|
|
+ Integer sameFirstLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSameFirstLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //乙级病历数
|
|
|
+ Integer secondLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSecondLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比乙级病历数
|
|
|
+ Integer sameSecondLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSameSecondLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //丙级病历数
|
|
|
+ Integer thirdLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getThirdLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比丙级病历数
|
|
|
+ Integer sameThirdLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsDTO::getSameThirdLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //甲级病历占比
|
|
|
+ Double firstLevelPercent = BigDecimal.valueOf(firstLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String firstLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(firstLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ //同比甲级病历占比
|
|
|
+ Double sameFirstLevelPercent = 0d;
|
|
|
+ String sameFirstLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ){
|
|
|
+ sameFirstLevelPercent = BigDecimal.valueOf(sameFirstLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameFirstLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameFirstLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //乙级病历占比
|
|
|
+ Double secondLevelPercent = BigDecimal.valueOf(secondLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String secondLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(secondLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+
|
|
|
+ //同比乙级病历占比
|
|
|
+ Double sameSecondLevelPercent = 0d;
|
|
|
+ String sameSecondLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ){
|
|
|
+ sameSecondLevelPercent = BigDecimal.valueOf(sameSecondLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameSecondLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameSecondLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+ //丙级病历占比
|
|
|
+ Double thirdLevelPercent = BigDecimal.valueOf(thirdLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String thirdLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(thirdLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+
|
|
|
+ //同比丙级病历占比
|
|
|
+ Double sameThirdLevelPercent = 0d;
|
|
|
+ String sameThirdLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ) {
|
|
|
+ sameThirdLevelPercent = BigDecimal.valueOf(sameThirdLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameThirdLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameThirdLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+ item.setDeptName("全院");
|
|
|
+ item.setEntryNum(entryNum);
|
|
|
+ item.setSameNum(sameNum);
|
|
|
+ item.setMrNum(mrNum);
|
|
|
+ item.setSameMrNum(sameMrNum);
|
|
|
+ item.setTotleValue(totleValue);
|
|
|
+ item.setSameTotleValue(sameTotleValue);
|
|
|
+ item.setAverageValue(averageValue);
|
|
|
+ item.setSameAvgValue(sameAvgValue);
|
|
|
+ item.setFirstLevelNum(firstLevelNum);
|
|
|
+ item.setSameFirstLevelNum(sameFirstLevelNum);
|
|
|
+ item.setFirstLevelPercent(firstLevelPercent);
|
|
|
+ item.setSameFirstLevelPercent(sameFirstLevelPercent);
|
|
|
+ item.setFirstLevelPercentStr(firstLevelPercentStr);
|
|
|
+ item.setSameFirstLevelPercentStr(sameFirstLevelPercentStr);
|
|
|
+ item.setSecondLevelNum(secondLevelNum);
|
|
|
+ item.setSameSecondLevelNum(sameSecondLevelNum);
|
|
|
+ item.setSecondLevelPercent(secondLevelPercent);
|
|
|
+ item.setSameSecondLevelPercent(sameSecondLevelPercent);
|
|
|
+ item.setSecondLevelPercentStr(secondLevelPercentStr);
|
|
|
+ item.setSameSecondLevelPercentStr(sameSecondLevelPercentStr);
|
|
|
+ item.setThirdLevelNum(thirdLevelNum);
|
|
|
+ item.setSameThirdLevelNum(sameThirdLevelNum);
|
|
|
+ item.setThirdLevelPercent(thirdLevelPercent);
|
|
|
+ item.setSameThirdLevelPercent(sameThirdLevelPercent);
|
|
|
+ item.setThirdLevelPercentStr(thirdLevelPercentStr);
|
|
|
+ item.setSameThirdLevelPercentStr(sameThirdLevelPercentStr);
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 各科室缺陷占比(组合)-全院-根据内外科系统统计(台州)-导出
|
|
|
+ *
|
|
|
+ * @param filterOrderVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<LevelStatisticsTZDTO> levelStatisticsByDeptStr_TZ(FilterOrderVO filterOrderVO) {
|
|
|
+ filterFacade.filterOrderVOSame(filterOrderVO);
|
|
|
+ List<LevelStatisticsTZDTO> records = behospitalInfoFacade.levelStatisticsByDeptClass_TZ(filterOrderVO);
|
|
|
+ if( StringUtil.isBlank(filterOrderVO.getName())){
|
|
|
+ LevelStatisticsTZDTO item = getGlobleRecords(records,filterOrderVO);
|
|
|
+ if (item != null) {
|
|
|
+ records.add(0, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(ListUtil.isNotEmpty(records)){
|
|
|
+ for (LevelStatisticsTZDTO record : records) {
|
|
|
+ BigDecimalStrExport(record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return records;
|
|
|
}
|
|
|
|
|
@@ -458,11 +839,393 @@ public class ConsoleFacade {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<LevelStatisticsTZDTO> levelStatisticsByDeptClass_TZ(FilterOrderVO filterOrderVO) {
|
|
|
- filterFacade.filterOrderVOSet(filterOrderVO);
|
|
|
+ filterFacade.filterOrderVOSame(filterOrderVO);
|
|
|
List<LevelStatisticsTZDTO> records = behospitalInfoFacade.levelStatisticsByDeptClass_TZ(filterOrderVO);
|
|
|
+ if( StringUtil.isBlank(filterOrderVO.getName())){
|
|
|
+ LevelStatisticsTZDTO item = getGlobleRecords(records,filterOrderVO);
|
|
|
+ if (item != null) {
|
|
|
+ records.add(0, item);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if(ListUtil.isNotEmpty(records)){
|
|
|
+ for (LevelStatisticsTZDTO record : records) {
|
|
|
+ BigDecimalMethod(record);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return records;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 增加全院记录
|
|
|
+ *
|
|
|
+ * @param records
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public LevelStatisticsTZDTO getGlobleRecords(List<LevelStatisticsTZDTO> records,FilterOrderVO filterOrderVO) {
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
+ LevelStatisticsTZDTO item = new LevelStatisticsTZDTO();
|
|
|
+ if (ListUtil.isEmpty(records)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ //缺陷总数
|
|
|
+ Integer entryNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getEntryNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ if (entryNum == null || entryNum == 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //同比总数
|
|
|
+ Integer sameNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSameNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //质控病历数
|
|
|
+ Integer mrNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getMrNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+ //同比病历数
|
|
|
+ Integer sameMrNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSameMrNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //质控评分
|
|
|
+ Double totleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+ //同比质控评分
|
|
|
+ Double sameTotleValue = records
|
|
|
+ .stream()
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getSameTotleValue()))
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ //质控平均分
|
|
|
+ Double averageValue = BigDecimal.valueOf(totleValue)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+
|
|
|
+ Double sameAvgValue = 0d;
|
|
|
+ //同比平均分
|
|
|
+ if(0d != sameTotleValue){
|
|
|
+ sameAvgValue = BigDecimal.valueOf(sameTotleValue)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 2, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //甲级病历数
|
|
|
+ Integer firstLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getFirstLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比甲级病历数
|
|
|
+ Integer sameFirstLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSameFirstLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //乙级病历数
|
|
|
+ Integer secondLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSecondLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比乙级病历数
|
|
|
+ Integer sameSecondLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSameSecondLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //丙级病历数
|
|
|
+ Integer thirdLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getThirdLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+ //同比丙级病历数
|
|
|
+ Integer sameThirdLevelNum = records
|
|
|
+ .stream()
|
|
|
+ .map(LevelStatisticsTZDTO::getSameThirdLevelNum)
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
+
|
|
|
+
|
|
|
+ //甲级病历占比
|
|
|
+ Double firstLevelPercent = BigDecimal.valueOf(firstLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String firstLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(firstLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ //同比甲级病历占比
|
|
|
+ Double sameFirstLevelPercent = 0d;
|
|
|
+ String sameFirstLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ){
|
|
|
+ sameFirstLevelPercent = BigDecimal.valueOf(sameFirstLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameFirstLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameFirstLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ //乙级病历占比
|
|
|
+ Double secondLevelPercent = BigDecimal.valueOf(secondLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String secondLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(secondLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+
|
|
|
+ //同比乙级病历占比
|
|
|
+ Double sameSecondLevelPercent = 0d;
|
|
|
+ String sameSecondLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ){
|
|
|
+ sameSecondLevelPercent = BigDecimal.valueOf(sameSecondLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameSecondLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameSecondLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+ //丙级病历占比
|
|
|
+ Double thirdLevelPercent = BigDecimal.valueOf(thirdLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ String thirdLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(thirdLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+
|
|
|
+ //同比丙级病历占比
|
|
|
+ Double sameThirdLevelPercent = 0d;
|
|
|
+ String sameThirdLevelPercentStr = "0.00%";
|
|
|
+ if(0 != sameFirstLevelNum ) {
|
|
|
+ sameThirdLevelPercent = BigDecimal.valueOf(sameThirdLevelNum)
|
|
|
+ .divide(BigDecimal.valueOf(sameMrNum), 4, RoundingMode.HALF_UP)
|
|
|
+ .doubleValue();
|
|
|
+ sameThirdLevelPercentStr
|
|
|
+ = df.format(BigDecimal.valueOf(sameThirdLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
+ }
|
|
|
+ if (StringUtil.isBlank(filterOrderVO.getDeptClass()) || filterOrderVO.getDeptClass().equals("全院")) {
|
|
|
+ item.setDeptName("全院");
|
|
|
+ }else if("内科".equals(filterOrderVO.getDeptClass())){
|
|
|
+ item.setDeptClassId("01");
|
|
|
+ item.setDeptClass("内科");
|
|
|
+ item.setDeptName("全部科室");
|
|
|
+ }else if("外科".equals(filterOrderVO.getDeptClass())){
|
|
|
+ item.setDeptClassId("1030000");
|
|
|
+ item.setDeptClass("外科");
|
|
|
+ item.setDeptName("全部科室");
|
|
|
+ }
|
|
|
+ item.setEntryNum(entryNum);
|
|
|
+ item.setSameNum(sameNum);
|
|
|
+ item.setMrNum(mrNum);
|
|
|
+ item.setSameMrNum(sameMrNum);
|
|
|
+ item.setTotleValue(totleValue);
|
|
|
+ item.setSameTotleValue(sameTotleValue);
|
|
|
+ item.setAverageValue(averageValue);
|
|
|
+ item.setSameAvgValue(sameAvgValue);
|
|
|
+ item.setFirstLevelNum(firstLevelNum);
|
|
|
+ item.setSameFirstLevelNum(sameFirstLevelNum);
|
|
|
+ item.setFirstLevelPercent(firstLevelPercent);
|
|
|
+ item.setSameFirstLevelPercent(sameFirstLevelPercent);
|
|
|
+ item.setFirstLevelPercentStr(firstLevelPercentStr);
|
|
|
+ item.setSameFirstLevelPercentStr(sameFirstLevelPercentStr);
|
|
|
+ item.setSecondLevelNum(secondLevelNum);
|
|
|
+ item.setSameSecondLevelNum(sameSecondLevelNum);
|
|
|
+ item.setSecondLevelPercent(secondLevelPercent);
|
|
|
+ item.setSameSecondLevelPercent(sameSecondLevelPercent);
|
|
|
+ item.setSecondLevelPercentStr(secondLevelPercentStr);
|
|
|
+ item.setSameSecondLevelPercentStr(sameSecondLevelPercentStr);
|
|
|
+ item.setThirdLevelNum(thirdLevelNum);
|
|
|
+ item.setSameThirdLevelNum(sameThirdLevelNum);
|
|
|
+ item.setThirdLevelPercent(thirdLevelPercent);
|
|
|
+ item.setSameThirdLevelPercent(sameThirdLevelPercent);
|
|
|
+ item.setThirdLevelPercentStr(thirdLevelPercentStr);
|
|
|
+ item.setSameThirdLevelPercentStr(sameThirdLevelPercentStr);
|
|
|
+ return item;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void BigDecimalStrExport(LevelStatisticsDTO record){
|
|
|
+
|
|
|
+ BigDecimal entrySameBigDecimal = getSubtract(new BigDecimal(record.getEntryNum()), new BigDecimal(record.getSameNum() == null? 0:record.getSameNum()));
|
|
|
+
|
|
|
+ if(entrySameBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setEntryStrNum(record.getEntryNum()+"↑");
|
|
|
+ }else if(entrySameBigDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setEntryStrNum(record.getEntryNum()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal sameMrNumBigDecimal = getSubtract(new BigDecimal(record.getMrNum()), new BigDecimal(record.getSameMrNum() == null? 0:record.getSameMrNum()));
|
|
|
+ if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setMrStrNum(record.getMrNum()+"↑");
|
|
|
+ }else if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setMrStrNum(record.getMrNum()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal sameAvgValueDecimal = getSubtract(new BigDecimal(record.getAverageValue()), new BigDecimal(record.getSameAvgValue() == null? 0:record.getSameAvgValue()));
|
|
|
+ if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setAverageStrValue(record.getAverageValue()+"↑");
|
|
|
+ }else if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setAverageStrValue(record.getAverageValue()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameFirstLevelBigDecimal = getSubtract(new BigDecimal(record.getFirstLevelNum()), new BigDecimal(record.getSameFirstLevelNum() == null? 0:record.getSameFirstLevelNum()));
|
|
|
+ if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setFirstLevelStrNum(record.getFirstLevelNum()+"↑");
|
|
|
+ }else if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setFirstLevelStrNum(record.getFirstLevelNum()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameSecondLevelBigDecimal = getSubtract(new BigDecimal(record.getSecondLevelNum()), new BigDecimal(record.getSameSecondLevelNum() == null? 0:record.getSameSecondLevelNum()));
|
|
|
+ if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setSecondLevelStrNum(record.getSecondLevelNum()+"↑");
|
|
|
+ }else if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setSecondLevelStrNum(record.getSecondLevelNum()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameThirdLevelBigDecimal = getSubtract(new BigDecimal(record.getThirdLevelNum()), new BigDecimal(record.getSameThirdLevelNum() == null? 0:record.getSameThirdLevelNum()));
|
|
|
+ if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setThirdLevelStrNum(record.getThirdLevelNum()+"↑");
|
|
|
+ }else if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setThirdLevelStrNum(record.getThirdLevelNum()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameFirstLevelPeDecimal = getSubtract(new BigDecimal(record.getFirstLevelPercent()), new BigDecimal(record.getSameFirstLevelPercent() == null? 0:record.getSameFirstLevelPercent()));
|
|
|
+ if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setFirstLevelPercentStr(record.getFirstLevelPercentStr()+"↑");
|
|
|
+ }else if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setFirstLevelPercentStr(record.getFirstLevelPercentStr()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameSecondLevelPeDecimal = getSubtract(new BigDecimal(record.getSecondLevelPercent()), new BigDecimal(record.getSameSecondLevelPercent() == null? 0:record.getSameSecondLevelPercent()));
|
|
|
+ if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setSecondLevelPercentStr(record.getSecondLevelPercentStr()+"↑");
|
|
|
+ }else if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO)<0){
|
|
|
+ record.setSecondLevelPercentStr(record.getSecondLevelPercentStr()+"↓");
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameThirdLevelPeDecimal = getSubtract(new BigDecimal(record.getThirdLevelPercent()), new BigDecimal(record.getSameThirdLevelPercent() == null? 0:record.getSameThirdLevelPercent()));
|
|
|
+ if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setThirdLevelPercentStr(record.getThirdLevelPercentStr()+"↑");
|
|
|
+ }else if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO) <0){
|
|
|
+ record.setThirdLevelPercentStr(record.getThirdLevelPercentStr()+"↓");
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ public void BigDecimalMethod(LevelStatisticsDTO record){
|
|
|
+ BigDecimal entrySameBigDecimal = getSubtract(new BigDecimal(record.getEntryNum()), new BigDecimal(record.getSameNum() == null? 0:record.getSameNum()));
|
|
|
+
|
|
|
+ if(entrySameBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setEntrySameNum(1);
|
|
|
+ }else if(entrySameBigDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setEntrySameNum(0);
|
|
|
+ }else{
|
|
|
+ record.setEntrySameNum(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal sameMrNumBigDecimal = getSubtract(new BigDecimal(record.getMrNum()), new BigDecimal(record.getSameMrNum() == null? 0:record.getSameMrNum()));
|
|
|
+ if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setMrSameNum(1);
|
|
|
+ }else if(sameMrNumBigDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setMrSameNum(0);
|
|
|
+ }else{
|
|
|
+ record.setMrSameNum(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal sameAvgValueDecimal = getSubtract(new BigDecimal(record.getAverageValue()), new BigDecimal(record.getSameAvgValue() == null? 0:record.getSameAvgValue()));
|
|
|
+ if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setAvSameValue(1);
|
|
|
+ }else if(sameAvgValueDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setAvSameValue(0);
|
|
|
+ }else{
|
|
|
+ record.setAvSameValue(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameFirstLevelBigDecimal = getSubtract(new BigDecimal(record.getFirstLevelNum()), new BigDecimal(record.getSameFirstLevelNum() == null? 0:record.getSameFirstLevelNum()));
|
|
|
+ if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setFirSameLevelNum(1);
|
|
|
+ }else if(SameFirstLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setFirSameLevelNum(0);
|
|
|
+ }else{
|
|
|
+ record.setFirSameLevelNum(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameSecondLevelBigDecimal = getSubtract(new BigDecimal(record.getSecondLevelNum()), new BigDecimal(record.getSameSecondLevelNum() == null? 0:record.getSameSecondLevelNum()));
|
|
|
+ if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setSecSameLevelNum(1);
|
|
|
+ }else if(SameSecondLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setSecSameLevelNum(0);
|
|
|
+ }else{
|
|
|
+ record.setSecSameLevelNum(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameThirdLevelBigDecimal = getSubtract(new BigDecimal(record.getThirdLevelNum()), new BigDecimal(record.getSameThirdLevelNum() == null? 0:record.getSameThirdLevelNum()));
|
|
|
+ if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setThiSameLevelNum(1);
|
|
|
+ }else if(SameThirdLevelBigDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setThiSameLevelNum(0);
|
|
|
+ }else{
|
|
|
+ record.setThiSameLevelNum(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameFirstLevelPeDecimal = getSubtract(new BigDecimal(record.getFirstLevelPercent()), new BigDecimal(record.getSameFirstLevelPercent() == null? 0:record.getSameFirstLevelPercent()));
|
|
|
+ if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setFirSameLevelPercent(1);
|
|
|
+ }else if(SameFirstLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setFirSameLevelPercent(0);
|
|
|
+ }else{
|
|
|
+ record.setFirSameLevelPercent(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameSecondLevelPeDecimal = getSubtract(new BigDecimal(record.getSecondLevelPercent()), new BigDecimal(record.getSameSecondLevelPercent() == null? 0:record.getSameSecondLevelPercent()));
|
|
|
+ if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setSecSameLevelPercent(1);
|
|
|
+ }else if(SameSecondLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setSecSameLevelPercent(0);
|
|
|
+ }else{
|
|
|
+ record.setSecSameLevelPercent(-1);
|
|
|
+ }
|
|
|
+
|
|
|
+ BigDecimal SameThirdLevelPeDecimal = getSubtract(new BigDecimal(record.getThirdLevelPercent()), new BigDecimal(record.getSameThirdLevelPercent() == null? 0:record.getSameThirdLevelPercent()));
|
|
|
+ if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO)>0){
|
|
|
+ record.setThiSameLevelPercent(1);
|
|
|
+ }else if(SameThirdLevelPeDecimal.compareTo(BigDecimal.ZERO) == 0){
|
|
|
+ record.setThiSameLevelPercent(0);
|
|
|
+ }else{
|
|
|
+ record.setThiSameLevelPercent(-1);
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 差值计算
|
|
|
+ *
|
|
|
+ * @param bigDecimalOne
|
|
|
+ * @param bigDecimalTwo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private BigDecimal getSubtract(BigDecimal bigDecimalOne, BigDecimal bigDecimalTwo) {
|
|
|
+ BigDecimal newBigDecimal = new BigDecimal(0);
|
|
|
+ if (null == bigDecimalOne && null != bigDecimalTwo) {
|
|
|
+ newBigDecimal = newBigDecimal.subtract(bigDecimalTwo);
|
|
|
+ } else if (null != bigDecimalOne && null == bigDecimalTwo) {
|
|
|
+ newBigDecimal = bigDecimalOne.subtract(newBigDecimal);
|
|
|
+ } else if (null != bigDecimalOne && null != bigDecimalTwo) {
|
|
|
+ newBigDecimal = bigDecimalOne.subtract(bigDecimalTwo);
|
|
|
+ }
|
|
|
+ return newBigDecimal;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 病案首页合格率占比
|
|
|
*
|
|
@@ -1174,6 +1937,17 @@ public class ConsoleFacade {
|
|
|
return behospitalInfoFacade.unModifyMRPage(qcResultShortPageVO);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 不合格/合格数病历号(内页)
|
|
|
+ *
|
|
|
+ * @param qcResultPageVO
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public IPage<QcResultShortDTO> badLevelPage(QcResultPageVO qcResultPageVO) {
|
|
|
+ filterFacade.badLevelPageVOSet(qcResultPageVO);
|
|
|
+ return behospitalInfoFacade.badLevelPage(qcResultPageVO);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 31天再入院详情页
|
|
|
*
|