|
@@ -1,15 +1,22 @@
|
|
package com.diagbot.facade;
|
|
package com.diagbot.facade;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.diagbot.dto.DeptBaseDTO;
|
|
import com.diagbot.dto.DeptBaseDTO;
|
|
import com.diagbot.dto.DeptNumDTO;
|
|
import com.diagbot.dto.DeptNumDTO;
|
|
|
|
+import com.diagbot.dto.LevelStatisticsDTO;
|
|
import com.diagbot.dto.NumDTO;
|
|
import com.diagbot.dto.NumDTO;
|
|
|
|
+import com.diagbot.entity.BehospitalInfo;
|
|
import com.diagbot.util.BeanUtil;
|
|
import com.diagbot.util.BeanUtil;
|
|
|
|
+import com.diagbot.util.DateUtil;
|
|
import com.diagbot.util.EntityUtil;
|
|
import com.diagbot.util.EntityUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
import com.diagbot.util.ListUtil;
|
|
|
|
+import com.diagbot.util.StringUtil;
|
|
import com.diagbot.util.SysUserUtils;
|
|
import com.diagbot.util.SysUserUtils;
|
|
-import com.diagbot.vo.FilterByDeptVO;
|
|
|
|
-import com.diagbot.vo.HPFilterByDeptVO;
|
|
|
|
-import com.diagbot.vo.QcresultFilterByDeptVO;
|
|
|
|
|
|
+import com.diagbot.vo.FilterOrderByDeptVO;
|
|
|
|
+import com.diagbot.vo.FilterPageByDeptVO;
|
|
|
|
+import com.diagbot.vo.FilterVO;
|
|
|
|
+import com.diagbot.vo.HomePageFilterVO;
|
|
|
|
+import com.diagbot.vo.QcresultFilterVO;
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
@@ -17,9 +24,16 @@ import org.springframework.stereotype.Component;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
-import java.util.*;
|
|
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.Comparator;
|
|
|
|
+import java.util.Date;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.LinkedHashMap;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Description:主任医生相关首页
|
|
* @Description:主任医生相关首页
|
|
* @Author:zhaops
|
|
* @Author:zhaops
|
|
@@ -41,39 +55,39 @@ public class ConsoleByDeptFacade {
|
|
/**
|
|
/**
|
|
* 出院人数统计-按科室
|
|
* 出院人数统计-按科室
|
|
*
|
|
*
|
|
- * @param filterByDeptVO
|
|
|
|
|
|
+ * @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, Object> leaveHosCountByDept(FilterByDeptVO filterByDeptVO) {
|
|
|
|
|
|
+ public Map<String, Object> leaveHosCountByDept(FilterVO filterVO) {
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
- String startDate = filterFacade.getStartDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- String endDate = filterFacade.getEndDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- filterByDeptVO.setHospitalId(hospitalId);
|
|
|
|
- filterByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
- filterByDeptVO.setStartDate(startDate);
|
|
|
|
- filterByDeptVO.setEndDate(endDate);
|
|
|
|
- HPFilterByDeptVO hpFilterByDeptVO = new HPFilterByDeptVO();
|
|
|
|
- BeanUtil.copyProperties(filterByDeptVO, hpFilterByDeptVO);
|
|
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
|
|
|
|
+ filterVO.setHospitalId(hospitalId);
|
|
|
|
+ filterVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ filterVO.setStartDate(startDate);
|
|
|
|
+ filterVO.setEndDate(endDate);
|
|
|
|
+ HomePageFilterVO homePageFilterVO = new HomePageFilterVO();
|
|
|
|
+ BeanUtil.copyProperties(filterVO, homePageFilterVO);
|
|
//关联科室
|
|
//关联科室
|
|
- Map<String, Object> deptMap = getDeptByUser(filterByDeptVO);
|
|
|
|
|
|
+ Map<String, Object> deptMap = getDeptByUser(filterVO);
|
|
if (deptMap == null) {
|
|
if (deptMap == null) {
|
|
return retMap;
|
|
return retMap;
|
|
}
|
|
}
|
|
//出院总人数
|
|
//出院总人数
|
|
- List<NumDTO> totleNumList = behospitalInfoFacade.homePageCountByDept(hpFilterByDeptVO);
|
|
|
|
|
|
+ List<NumDTO> totleNumList = behospitalInfoFacade.homePageCountByDept(homePageFilterVO);
|
|
Map<String, NumDTO> totleMap = ListUtil.isEmpty(totleNumList)
|
|
Map<String, NumDTO> totleMap = ListUtil.isEmpty(totleNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(totleNumList, "name");
|
|
: EntityUtil.makeEntityMap(totleNumList, "name");
|
|
//死亡人数
|
|
//死亡人数
|
|
- hpFilterByDeptVO.setDeath(1);
|
|
|
|
- List<NumDTO> deathNumList = behospitalInfoFacade.homePageCountByDept(hpFilterByDeptVO);
|
|
|
|
|
|
+ homePageFilterVO.setDeath(1);
|
|
|
|
+ List<NumDTO> deathNumList = behospitalInfoFacade.homePageCountByDept(homePageFilterVO);
|
|
Map<String, NumDTO> deathMap = ListUtil.isEmpty(deathNumList)
|
|
Map<String, NumDTO> deathMap = ListUtil.isEmpty(deathNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(deathNumList, "name");
|
|
: EntityUtil.makeEntityMap(deathNumList, "name");
|
|
//手术人数
|
|
//手术人数
|
|
- List<NumDTO> operationNumList = behospitalInfoFacade.homePageCountForOperationByDept(filterByDeptVO);
|
|
|
|
|
|
+ List<NumDTO> operationNumList = behospitalInfoFacade.homePageCountForOperationByDept(filterVO);
|
|
Map<String, NumDTO> operationMap = ListUtil.isEmpty(operationNumList)
|
|
Map<String, NumDTO> operationMap = ListUtil.isEmpty(operationNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(operationNumList, "name");
|
|
: EntityUtil.makeEntityMap(operationNumList, "name");
|
|
@@ -100,47 +114,47 @@ public class ConsoleByDeptFacade {
|
|
/**
|
|
/**
|
|
* 病历数统计-按科室
|
|
* 病历数统计-按科室
|
|
*
|
|
*
|
|
- * @param filterByDeptVO
|
|
|
|
|
|
+ * @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, Object> mrCountByDept(FilterByDeptVO filterByDeptVO) {
|
|
|
|
|
|
+ public Map<String, Object> mrCountByDept(FilterVO filterVO) {
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
- String startDate = filterFacade.getStartDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- String endDate = filterFacade.getEndDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- filterByDeptVO.setHospitalId(hospitalId);
|
|
|
|
- filterByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
- filterByDeptVO.setStartDate(startDate);
|
|
|
|
- filterByDeptVO.setEndDate(endDate);
|
|
|
|
- QcresultFilterByDeptVO qcresultFilterByDeptVO = new QcresultFilterByDeptVO();
|
|
|
|
- BeanUtil.copyProperties(filterByDeptVO, qcresultFilterByDeptVO);
|
|
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
|
|
|
|
+ filterVO.setHospitalId(hospitalId);
|
|
|
|
+ filterVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ filterVO.setStartDate(startDate);
|
|
|
|
+ filterVO.setEndDate(endDate);
|
|
|
|
+ QcresultFilterVO qcresultFilterVO = new QcresultFilterVO();
|
|
|
|
+ BeanUtil.copyProperties(filterVO, qcresultFilterVO);
|
|
//关联科室
|
|
//关联科室
|
|
- Map<String, Object> deptMap = getDeptByUser(filterByDeptVO);
|
|
|
|
|
|
+ Map<String, Object> deptMap = getDeptByUser(filterVO);
|
|
if (deptMap == null) {
|
|
if (deptMap == null) {
|
|
return retMap;
|
|
return retMap;
|
|
}
|
|
}
|
|
//质控病历总数
|
|
//质控病历总数
|
|
- List<NumDTO> totleNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterByDeptVO);
|
|
|
|
|
|
+ List<NumDTO> totleNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterVO);
|
|
Map<String, NumDTO> totleMap = ListUtil.isEmpty(totleNumList)
|
|
Map<String, NumDTO> totleMap = ListUtil.isEmpty(totleNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(totleNumList, "name");
|
|
: EntityUtil.makeEntityMap(totleNumList, "name");
|
|
//甲级病历
|
|
//甲级病历
|
|
- qcresultFilterByDeptVO.setLevel("甲");
|
|
|
|
- List<NumDTO> firstNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterByDeptVO);
|
|
|
|
|
|
+ qcresultFilterVO.setLevel("甲");
|
|
|
|
+ List<NumDTO> firstNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterVO);
|
|
Map<String, NumDTO> firstMap = ListUtil.isEmpty(firstNumList)
|
|
Map<String, NumDTO> firstMap = ListUtil.isEmpty(firstNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(firstNumList, "name");
|
|
: EntityUtil.makeEntityMap(firstNumList, "name");
|
|
//乙级病历
|
|
//乙级病历
|
|
- qcresultFilterByDeptVO.setLevel("乙");
|
|
|
|
- List<NumDTO> secondNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterByDeptVO);
|
|
|
|
|
|
+ qcresultFilterVO.setLevel("乙");
|
|
|
|
+ List<NumDTO> secondNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterVO);
|
|
Map<String, NumDTO> secondMap = ListUtil.isEmpty(secondNumList)
|
|
Map<String, NumDTO> secondMap = ListUtil.isEmpty(secondNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(secondNumList, "name");
|
|
: EntityUtil.makeEntityMap(secondNumList, "name");
|
|
//丙级病历
|
|
//丙级病历
|
|
- qcresultFilterByDeptVO.setLevel("丙");
|
|
|
|
- List<NumDTO> thirdNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterByDeptVO);
|
|
|
|
|
|
+ qcresultFilterVO.setLevel("丙");
|
|
|
|
+ List<NumDTO> thirdNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterVO);
|
|
Map<String, NumDTO> thirdMap = ListUtil.isEmpty(thirdNumList)
|
|
Map<String, NumDTO> thirdMap = ListUtil.isEmpty(thirdNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(thirdNumList, "name");
|
|
: EntityUtil.makeEntityMap(thirdNumList, "name");
|
|
@@ -214,40 +228,43 @@ public class ConsoleByDeptFacade {
|
|
/**
|
|
/**
|
|
* 各模块缺陷占比排名-按科室
|
|
* 各模块缺陷占比排名-按科室
|
|
*
|
|
*
|
|
- * @param filterByDeptVO
|
|
|
|
|
|
+ * @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, Object> entryCountGroupByCaseAndDept(FilterByDeptVO filterByDeptVO) {
|
|
|
|
|
|
+ public Map<String, Object> entryCountGroupByCaseAndDept(FilterVO filterVO) {
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
- String startDate = filterFacade.getStartDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- String endDate = filterFacade.getEndDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- filterByDeptVO.setHospitalId(hospitalId);
|
|
|
|
- filterByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
- filterByDeptVO.setStartDate(startDate);
|
|
|
|
- filterByDeptVO.setEndDate(endDate);
|
|
|
|
- if (filterByDeptVO.getLimitCount() == null || filterByDeptVO.getLimitCount().equals(0)) {
|
|
|
|
- filterByDeptVO.setLimitCount(10);
|
|
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
|
|
|
|
+ filterVO.setHospitalId(hospitalId);
|
|
|
|
+ filterVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ filterVO.setStartDate(startDate);
|
|
|
|
+ filterVO.setEndDate(endDate);
|
|
|
|
+ if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
|
|
|
|
+ filterVO.setLimitCount(10);
|
|
}
|
|
}
|
|
- Integer limitCount = filterByDeptVO.getLimitCount();
|
|
|
|
- QcresultFilterByDeptVO qcresultFilterByDeptVO = new QcresultFilterByDeptVO();
|
|
|
|
- BeanUtil.copyProperties(filterByDeptVO, qcresultFilterByDeptVO);
|
|
|
|
|
|
+ Integer limitCount = filterVO.getLimitCount();
|
|
|
|
+ QcresultFilterVO qcresultFilterVO = new QcresultFilterVO();
|
|
|
|
+ BeanUtil.copyProperties(filterVO, qcresultFilterVO);
|
|
//关联科室
|
|
//关联科室
|
|
- Map<String, Object> deptMap = getDeptByUser(filterByDeptVO);
|
|
|
|
|
|
+ Map<String, Object> deptMap = getDeptByUser(filterVO);
|
|
if (deptMap == null) {
|
|
if (deptMap == null) {
|
|
return retMap;
|
|
return retMap;
|
|
}
|
|
}
|
|
- List<NumDTO> mrNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterByDeptVO);
|
|
|
|
|
|
+ List<NumDTO> mrNumList = qcresultInfoFacade.resultCountByDept(qcresultFilterVO);
|
|
Map<String, NumDTO> mrMap = ListUtil.isEmpty(mrNumList)
|
|
Map<String, NumDTO> mrMap = ListUtil.isEmpty(mrNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityMap(mrNumList, "name");
|
|
: EntityUtil.makeEntityMap(mrNumList, "name");
|
|
- List<DeptNumDTO> qcEntryNumList = qcresultInfoFacade.entryCountGroupByCaseAndDept(filterByDeptVO);
|
|
|
|
|
|
+ List<DeptNumDTO> qcEntryNumList = qcresultInfoFacade.entryCountGroupByCaseAndDept(filterVO);
|
|
Map<String, List<DeptNumDTO>> qcEntryMap = ListUtil.isEmpty(qcEntryNumList)
|
|
Map<String, List<DeptNumDTO>> qcEntryMap = ListUtil.isEmpty(qcEntryNumList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityListMap(qcEntryNumList, "deptName");
|
|
: EntityUtil.makeEntityListMap(qcEntryNumList, "deptName");
|
|
List<NumDTO> standardEntryNumList = qcCasesFacade.entryGroupByCase();
|
|
List<NumDTO> standardEntryNumList = qcCasesFacade.entryGroupByCase();
|
|
|
|
+ Map<String, NumDTO> standardMap = ListUtil.isEmpty(standardEntryNumList)
|
|
|
|
+ ? new HashMap<>()
|
|
|
|
+ : EntityUtil.makeEntityMap(standardEntryNumList, "name");
|
|
for (String deptName : deptMap.keySet()) {
|
|
for (String deptName : deptMap.keySet()) {
|
|
//没有质控病历
|
|
//没有质控病历
|
|
if (!mrMap.containsKey(deptName)) {
|
|
if (!mrMap.containsKey(deptName)) {
|
|
@@ -256,6 +273,11 @@ public class ConsoleByDeptFacade {
|
|
}
|
|
}
|
|
//病历数
|
|
//病历数
|
|
Integer mrNum = mrMap.get(deptName).getNum();
|
|
Integer mrNum = mrMap.get(deptName).getNum();
|
|
|
|
+ //缺陷模块条目未维护
|
|
|
|
+ if (ListUtil.isEmpty(standardEntryNumList)) {
|
|
|
|
+ retMap.put(deptName, Lists.newLinkedList());
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
//没有缺陷
|
|
//没有缺陷
|
|
if (!qcEntryMap.containsKey(deptName)) {
|
|
if (!qcEntryMap.containsKey(deptName)) {
|
|
retMap.put(deptName, Lists.newLinkedList());
|
|
retMap.put(deptName, Lists.newLinkedList());
|
|
@@ -263,48 +285,38 @@ public class ConsoleByDeptFacade {
|
|
}
|
|
}
|
|
//模块缺陷
|
|
//模块缺陷
|
|
List<DeptNumDTO> qcEntryNumByDeptList = qcEntryMap.get(deptName);
|
|
List<DeptNumDTO> qcEntryNumByDeptList = qcEntryMap.get(deptName);
|
|
- List<NumDTO> retList = Lists.newLinkedList();
|
|
|
|
- retList = BeanUtil.listCopyTo(standardEntryNumList, NumDTO.class);
|
|
|
|
if (ListUtil.isEmpty(qcEntryNumByDeptList)) {
|
|
if (ListUtil.isEmpty(qcEntryNumByDeptList)) {
|
|
- for (NumDTO entryNum : retList) {
|
|
|
|
- Integer totleNum = entryNum.getNum() * mrNum;
|
|
|
|
- entryNum.setNum(0);
|
|
|
|
- entryNum.setPercent(0d);
|
|
|
|
- entryNum.setPercentStr("0%");
|
|
|
|
- entryNum.setTotleNum(totleNum);
|
|
|
|
|
|
+ retMap.put(deptName, Lists.newLinkedList());
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ List<NumDTO> retList = Lists.newLinkedList();
|
|
|
|
+ retList = BeanUtil.listCopyTo(qcEntryNumByDeptList, NumDTO.class);
|
|
|
|
+ retList.forEach(item -> {
|
|
|
|
+ if (!standardMap.containsKey(item.getName())) {
|
|
|
|
+ item.setTotleNum(0);
|
|
|
|
+ item.setPercent(0d);
|
|
|
|
+ item.setPercentStr("0%");
|
|
|
|
+ } else {
|
|
|
|
+ Integer totleNum = standardMap.get(item.getName()).getNum() * mrNum;
|
|
|
|
+ Double percent = BigDecimal.valueOf(item.getNum())
|
|
|
|
+ .divide(BigDecimal.valueOf(totleNum), 4, RoundingMode.HALF_UP)
|
|
|
|
+ .doubleValue();
|
|
|
|
+ String percentStr
|
|
|
|
+ = df.format(BigDecimal.valueOf(percent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
|
+ item.setTotleNum(totleNum);
|
|
|
|
+ item.setPercent(percent);
|
|
|
|
+ item.setPercentStr(percentStr);
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- Map<Long, Integer> qcEntryNumMap
|
|
|
|
- = EntityUtil.makeMapWithKeyValue(qcEntryNumByDeptList, "id", "num");
|
|
|
|
- if (ListUtil.isNotEmpty(standardEntryNumList)) {
|
|
|
|
- for (NumDTO entryNum : retList) {
|
|
|
|
- Integer totleNum = entryNum.getNum() * mrNum;
|
|
|
|
- if (qcEntryNumMap.containsKey(entryNum.getId())) {
|
|
|
|
- entryNum.setNum(qcEntryNumMap.get(entryNum.getId()));
|
|
|
|
- Double percent = BigDecimal.valueOf(entryNum.getNum())
|
|
|
|
- .divide(BigDecimal.valueOf(totleNum), 4, RoundingMode.HALF_UP)
|
|
|
|
- .doubleValue();
|
|
|
|
- String percentStr
|
|
|
|
- = df.format(BigDecimal.valueOf(percent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
|
- entryNum.setTotleNum(totleNum);
|
|
|
|
- entryNum.setPercent(percent);
|
|
|
|
- entryNum.setPercentStr(percentStr);
|
|
|
|
- } else {
|
|
|
|
- entryNum.setNum(0);
|
|
|
|
- entryNum.setPercent(0d);
|
|
|
|
- entryNum.setPercentStr("0%");
|
|
|
|
- entryNum.setTotleNum(totleNum);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ //降序排序
|
|
|
|
+ Collections.sort(retList, new Comparator<NumDTO>() {
|
|
|
|
+ @Override
|
|
|
|
+ public int compare(NumDTO o1, NumDTO o2) {
|
|
|
|
+ return o2.getPercent().compareTo(o1.getPercent());
|
|
}
|
|
}
|
|
- //降序排序
|
|
|
|
- Collections.sort(retList, new Comparator<NumDTO>() {
|
|
|
|
- @Override
|
|
|
|
- public int compare(NumDTO o1, NumDTO o2) {
|
|
|
|
- return o2.getPercent().compareTo(o1.getPercent());
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
|
|
//取top10
|
|
//取top10
|
|
retList = retList
|
|
retList = retList
|
|
@@ -321,30 +333,30 @@ public class ConsoleByDeptFacade {
|
|
/**
|
|
/**
|
|
* 条目缺陷占比-按科室
|
|
* 条目缺陷占比-按科室
|
|
*
|
|
*
|
|
- * @param filterByDeptVO
|
|
|
|
|
|
+ * @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, Object> entryCountGroupByEntryAndDept(FilterByDeptVO filterByDeptVO) {
|
|
|
|
|
|
+ public Map<String, Object> entryCountGroupByEntryAndDept(FilterVO filterVO) {
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
DecimalFormat df = new DecimalFormat("#0.00");
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
Map<String, Object> retMap = new LinkedHashMap<>();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
String userId = SysUserUtils.getCurrentPrincipleID();
|
|
- String startDate = filterFacade.getStartDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- String endDate = filterFacade.getEndDateStr(filterByDeptVO.getType(), null);
|
|
|
|
- filterByDeptVO.setHospitalId(hospitalId);
|
|
|
|
- filterByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
- filterByDeptVO.setStartDate(startDate);
|
|
|
|
- filterByDeptVO.setEndDate(endDate);
|
|
|
|
- if (filterByDeptVO.getLimitCount() == null || filterByDeptVO.getLimitCount().equals(0)) {
|
|
|
|
- filterByDeptVO.setLimitCount(10);
|
|
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterVO.getType(), null);
|
|
|
|
+ filterVO.setHospitalId(hospitalId);
|
|
|
|
+ filterVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ filterVO.setStartDate(startDate);
|
|
|
|
+ filterVO.setEndDate(endDate);
|
|
|
|
+ if (filterVO.getLimitCount() == null || filterVO.getLimitCount().equals(0)) {
|
|
|
|
+ filterVO.setLimitCount(10);
|
|
}
|
|
}
|
|
- Integer limitCount = filterByDeptVO.getLimitCount();
|
|
|
|
|
|
+ Integer limitCount = filterVO.getLimitCount();
|
|
//关联科室
|
|
//关联科室
|
|
- Map<String, Object> deptMap = getDeptByUser(filterByDeptVO);
|
|
|
|
|
|
+ Map<String, Object> deptMap = getDeptByUser(filterVO);
|
|
if (deptMap == null) {
|
|
if (deptMap == null) {
|
|
return retMap;
|
|
return retMap;
|
|
}
|
|
}
|
|
- List<DeptNumDTO> entryList = qcresultInfoFacade.entryCountGroupByEntryAndDept(filterByDeptVO);
|
|
|
|
|
|
+ List<DeptNumDTO> entryList = qcresultInfoFacade.entryCountGroupByEntryAndDept(filterVO);
|
|
Map<String, List<DeptNumDTO>> numListMap = ListUtil.isEmpty(entryList)
|
|
Map<String, List<DeptNumDTO>> numListMap = ListUtil.isEmpty(entryList)
|
|
? new HashMap<>()
|
|
? new HashMap<>()
|
|
: EntityUtil.makeEntityListMap(entryList, "deptName");
|
|
: EntityUtil.makeEntityListMap(entryList, "deptName");
|
|
@@ -420,15 +432,289 @@ public class ConsoleByDeptFacade {
|
|
/**
|
|
/**
|
|
* 用户关联科室
|
|
* 用户关联科室
|
|
*
|
|
*
|
|
- * @param filterByDeptVO
|
|
|
|
|
|
+ * @param filterVO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, Object> getDeptByUser(FilterByDeptVO filterByDeptVO) {
|
|
|
|
- List<DeptBaseDTO> deptList = basDeptInfoFacade.getDeptByUser(filterByDeptVO);
|
|
|
|
|
|
+ public Map<String, Object> getDeptByUser(FilterVO filterVO) {
|
|
|
|
+ List<DeptBaseDTO> deptList = basDeptInfoFacade.getDeptByUser(filterVO);
|
|
if (ListUtil.isNotEmpty(deptList)) {
|
|
if (ListUtil.isNotEmpty(deptList)) {
|
|
return EntityUtil.makeMapWithKeyValue(deptList, "deptName", "deptId");
|
|
return EntityUtil.makeMapWithKeyValue(deptList, "deptName", "deptId");
|
|
} else {
|
|
} else {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取关联科室
|
|
|
|
+ *
|
|
|
|
+ * @param
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<DeptBaseDTO> getDept() {
|
|
|
|
+ FilterVO filterVO = new FilterVO();
|
|
|
|
+ String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
|
|
+ String userId = SysUserUtils.getCurrentPrincipleID();
|
|
|
|
+ filterVO.setHospitalId(hospitalId);
|
|
|
|
+ filterVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ List<DeptBaseDTO> deptList = basDeptInfoFacade.getDeptByUser(filterVO);
|
|
|
|
+ return deptList;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 过滤条件设置
|
|
|
|
+ *
|
|
|
|
+ * @param filterPageByDeptVO
|
|
|
|
+ */
|
|
|
|
+ private void filterPageByDeptVOSet(FilterPageByDeptVO filterPageByDeptVO) {
|
|
|
|
+ String hospitalId = SysUserUtils.getCurrentHospitalID();
|
|
|
|
+ String userId = SysUserUtils.getCurrentPrincipleID();
|
|
|
|
+ String startDate = "";
|
|
|
|
+ String endDate = "";
|
|
|
|
+ Date date = new Date();
|
|
|
|
+
|
|
|
|
+ //统计维度 1-本月,2-本年
|
|
|
|
+ //时间类型 1-本月/本年,2-上月/去年,3-去年本月/去年
|
|
|
|
+ if (filterPageByDeptVO.getType().equals(1)) {
|
|
|
|
+ if (filterPageByDeptVO.getDateType() == null) {
|
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ } else if (filterPageByDeptVO.getDateType().equals(2)) {
|
|
|
|
+ startDate = filterFacade.getLastStartDateStr(filterPageByDeptVO.getType());
|
|
|
|
+ endDate = filterFacade.getLastEndDateStr(filterPageByDeptVO.getType());
|
|
|
|
+ } else if (filterPageByDeptVO.getDateType().equals(3)) {
|
|
|
|
+ String year = DateUtil.getYear(date);
|
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageByDeptVO.getType(), Integer.valueOf(year) - 1);
|
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageByDeptVO.getType(), Integer.valueOf(year) - 1);
|
|
|
|
+ } else {
|
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ }
|
|
|
|
+ } else if (filterPageByDeptVO.getType().equals(2)) {
|
|
|
|
+ if (filterPageByDeptVO.getDateType() == null) {
|
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ } else if (filterPageByDeptVO.getDateType().equals(2) || filterPageByDeptVO.getDateType().equals(3)) {
|
|
|
|
+ startDate = filterFacade.getLastStartDateStr(filterPageByDeptVO.getType());
|
|
|
|
+ endDate = filterFacade.getLastEndDateStr(filterPageByDeptVO.getType());
|
|
|
|
+ } else {
|
|
|
|
+ startDate = filterFacade.getStartDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ endDate = filterFacade.getEndDateStr(filterPageByDeptVO.getType(), null);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ filterPageByDeptVO.setStartDate(startDate);
|
|
|
|
+ filterPageByDeptVO.setEndDate(endDate);
|
|
|
|
+ filterPageByDeptVO.setHospitalId(hospitalId);
|
|
|
|
+ filterPageByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 各模块缺陷占比-科室(分页)
|
|
|
|
+ *
|
|
|
|
+ * @param filterPageByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public IPage<DeptNumDTO> entryCountGroupByCaseAndDeptPage(FilterPageByDeptVO filterPageByDeptVO) {
|
|
|
|
+ if (StringUtil.isBlank(filterPageByDeptVO.getDeptName())) {
|
|
|
|
+ List<DeptBaseDTO> deptList = this.getDept();
|
|
|
|
+ //默认取第一个科室
|
|
|
|
+ if (ListUtil.isNotEmpty(deptList)) {
|
|
|
|
+ filterPageByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ filterPageByDeptVOSet(filterPageByDeptVO);
|
|
|
|
+ IPage<DeptNumDTO> page = qcresultInfoFacade.entryCountGroupByCaseAndDeptPage(filterPageByDeptVO);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 条目缺陷占比-科室(分页)
|
|
|
|
+ *
|
|
|
|
+ * @param filterPageByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public IPage<DeptNumDTO> entryCountGroupByEntryAndDeptPage(FilterPageByDeptVO filterPageByDeptVO) {
|
|
|
|
+ if (StringUtil.isBlank(filterPageByDeptVO.getDeptName())) {
|
|
|
|
+ List<DeptBaseDTO> deptList = this.getDept();
|
|
|
|
+ //默认取第一个科室
|
|
|
|
+ if (ListUtil.isNotEmpty(deptList)) {
|
|
|
|
+ filterPageByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
|
+ filterPageByDeptVOSet(filterPageByDeptVO);
|
|
|
|
+ IPage<DeptNumDTO> page = qcresultInfoFacade.entryCountGroupByEntryAndDeptPage(filterPageByDeptVO);
|
|
|
|
+ List<DeptNumDTO> records = page.getRecords();
|
|
|
|
+ if (ListUtil.isNotEmpty(records)) {
|
|
|
|
+ records.forEach(item -> {
|
|
|
|
+ Double percent = BigDecimal.valueOf(item.getNum())
|
|
|
|
+ .divide(BigDecimal.valueOf(item.getTotleNum()), 4, RoundingMode.HALF_UP)
|
|
|
|
+ .doubleValue();
|
|
|
|
+ item.setPercent(percent);
|
|
|
|
+ String percentStr
|
|
|
|
+ = df.format(BigDecimal.valueOf(percent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
|
+ item.setPercentStr(percentStr);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ page.setRecords(records);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 缺陷明细-科室(分页)
|
|
|
|
+ *
|
|
|
|
+ * @param filterPageByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public IPage<DeptNumDTO> resultStatisticsByDeptAndDoctorPage(FilterPageByDeptVO filterPageByDeptVO) {
|
|
|
|
+ if (StringUtil.isBlank(filterPageByDeptVO.getDeptName())) {
|
|
|
|
+ List<DeptBaseDTO> deptList = this.getDept();
|
|
|
|
+ //默认取第一个科室
|
|
|
|
+ if (ListUtil.isNotEmpty(deptList)) {
|
|
|
|
+ filterPageByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ filterPageByDeptVOSet(filterPageByDeptVO);
|
|
|
|
+ IPage<DeptNumDTO> page = behospitalInfoFacade.resultStatisticsByDeptAndDoctorPage(filterPageByDeptVO);
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 各科室缺陷占比(组合)
|
|
|
|
+ *
|
|
|
|
+ * @param filterOrderByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<LevelStatisticsDTO> levelStatisticsByDept(FilterOrderByDeptVO filterOrderByDeptVO) {
|
|
|
|
+ List<DeptBaseDTO> deptList = getDept();
|
|
|
|
+ if (ListUtil.isEmpty(deptList)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (StringUtil.isBlank(filterOrderByDeptVO.getDeptName())) {
|
|
|
|
+ filterOrderByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ String hosptialId = SysUserUtils.getCurrentHospitalID();
|
|
|
|
+ String userId = SysUserUtils.getCurrentPrincipleID();
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ filterOrderByDeptVO.setStartDate(startDate);
|
|
|
|
+ filterOrderByDeptVO.setEndDate(endDate);
|
|
|
|
+ filterOrderByDeptVO.setHospitalId(hosptialId);
|
|
|
|
+ filterOrderByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ List<LevelStatisticsDTO> records = behospitalInfoFacade.levelStatisticsByDept(filterOrderByDeptVO);
|
|
|
|
+ return records;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 病案首页合格率占比
|
|
|
|
+ *
|
|
|
|
+ * @param filterOrderByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<LevelStatisticsDTO> homePageLevelStatisticsByDept(FilterOrderByDeptVO filterOrderByDeptVO) {
|
|
|
|
+ List<DeptBaseDTO> deptList = getDept();
|
|
|
|
+ if (ListUtil.isEmpty(deptList)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (StringUtil.isBlank(filterOrderByDeptVO.getDeptName())) {
|
|
|
|
+ filterOrderByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ String hosptialId = SysUserUtils.getCurrentHospitalID();
|
|
|
|
+ String userId = SysUserUtils.getCurrentPrincipleID();
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ filterOrderByDeptVO.setStartDate(startDate);
|
|
|
|
+ filterOrderByDeptVO.setEndDate(endDate);
|
|
|
|
+ filterOrderByDeptVO.setHospitalId(hosptialId);
|
|
|
|
+ filterOrderByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ List<LevelStatisticsDTO> records = behospitalInfoFacade.homePageLevelStatisticsByDept(filterOrderByDeptVO);
|
|
|
|
+ return records;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 病案首页合格率占比(首页)
|
|
|
|
+ *
|
|
|
|
+ * @param filterOrderByDeptVO
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<LevelStatisticsDTO> homePageLevelByDeptLimit(FilterOrderByDeptVO filterOrderByDeptVO) {
|
|
|
|
+ DecimalFormat df = new DecimalFormat("#0.00");
|
|
|
|
+ List<DeptBaseDTO> deptList = getDept();
|
|
|
|
+ if (ListUtil.isEmpty(deptList)) {
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
|
|
+ if (StringUtil.isBlank(filterOrderByDeptVO.getDeptName())) {
|
|
|
|
+ filterOrderByDeptVO.setDeptName(deptList.get(0).getDeptName());
|
|
|
|
+ }
|
|
|
|
+ String hosptialId = SysUserUtils.getCurrentHospitalID();
|
|
|
|
+ String userId = SysUserUtils.getCurrentPrincipleID();
|
|
|
|
+ String startDate = filterFacade.getStartDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ String endDate = filterFacade.getEndDateStr(filterOrderByDeptVO.getType(), null);
|
|
|
|
+ filterOrderByDeptVO.setStartDate(startDate);
|
|
|
|
+ filterOrderByDeptVO.setEndDate(endDate);
|
|
|
|
+ filterOrderByDeptVO.setHospitalId(hosptialId);
|
|
|
|
+ filterOrderByDeptVO.setUserId(Long.valueOf(userId));
|
|
|
|
+ if (filterOrderByDeptVO.getLimitCount() == null || filterOrderByDeptVO.getLimitCount().equals(0)) {
|
|
|
|
+ filterOrderByDeptVO.setLimitCount(10);
|
|
|
|
+ }
|
|
|
|
+ List<LevelStatisticsDTO> records = behospitalInfoFacade.homePageLevelStatisticsByDept(filterOrderByDeptVO);
|
|
|
|
+ //增加全科室
|
|
|
|
+ LevelStatisticsDTO item = new LevelStatisticsDTO();
|
|
|
|
+ Integer mrNum = records
|
|
|
|
+ .stream()
|
|
|
|
+ .map(LevelStatisticsDTO::getMrNum)
|
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
|
+ if (mrNum == null || mrNum == 0) {
|
|
|
|
+ return Lists.newLinkedList();
|
|
|
|
+ }
|
|
|
|
+ Integer entryNum = records
|
|
|
|
+ .stream()
|
|
|
|
+ .map(LevelStatisticsDTO::getEntryNum)
|
|
|
|
+ .reduce(0, Integer::sum);
|
|
|
|
+ Double totleFee = records
|
|
|
|
+ .stream()
|
|
|
|
+ .map(i -> BigDecimal.valueOf(i.getTotleValue()))
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
|
+ .doubleValue();
|
|
|
|
+ Double averageFee = BigDecimal.valueOf(totleFee)
|
|
|
|
+ .divide(BigDecimal.valueOf(mrNum), 2, RoundingMode.HALF_UP)
|
|
|
|
+ .doubleValue();
|
|
|
|
+ Integer firstLevelNum = records
|
|
|
|
+ .stream()
|
|
|
|
+ .map(LevelStatisticsDTO::getFirstLevelNum)
|
|
|
|
+ .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))) + "%";
|
|
|
|
+ Integer secondLevelNum = mrNum - firstLevelNum;
|
|
|
|
+ Double secondLevelPercent = BigDecimal.valueOf(1)
|
|
|
|
+ .subtract(BigDecimal.valueOf(firstLevelPercent))
|
|
|
|
+ .doubleValue();
|
|
|
|
+ String secondLevelPercentStr
|
|
|
|
+ = df.format(BigDecimal.valueOf(secondLevelPercent).multiply(BigDecimal.valueOf(100))) + "%";
|
|
|
|
+ item.setDoctorName(filterOrderByDeptVO.getDeptName());
|
|
|
|
+ item.setEntryNum(entryNum);
|
|
|
|
+ item.setMrNum(mrNum);
|
|
|
|
+ item.setTotleValue(totleFee);
|
|
|
|
+ item.setAverageValue(averageFee);
|
|
|
|
+ item.setFirstLevelNum(firstLevelNum);
|
|
|
|
+ item.setFirstLevelPercent(firstLevelPercent);
|
|
|
|
+ item.setFirstLevelPercentStr(firstLevelPercentStr);
|
|
|
|
+ item.setSecondLevelNum(secondLevelNum);
|
|
|
|
+ item.setSecondLevelPercent(secondLevelPercent);
|
|
|
|
+ item.setSecondLevelPercentStr(secondLevelPercentStr);
|
|
|
|
+
|
|
|
|
+ records.add(0, item);
|
|
|
|
+
|
|
|
|
+ records = records
|
|
|
|
+ .stream()
|
|
|
|
+ .limit(filterOrderByDeptVO.getLimitCount())
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ return records;
|
|
|
|
+ }
|
|
|
|
+}
|