|
@@ -486,7 +486,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if (account == null) {
|
|
if (account == null) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
HospitalVisitCostCompositionVO vo = costItemMap.get(account.getType());
|
|
HospitalVisitCostCompositionVO vo = costItemMap.get(account.getType());
|
|
|
// 医疗成本
|
|
// 医疗成本
|
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
@@ -511,23 +511,26 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
HospitalVisitCostCompositionVO totalVo = new HospitalVisitCostCompositionVO();
|
|
HospitalVisitCostCompositionVO totalVo = new HospitalVisitCostCompositionVO();
|
|
|
totalVo.setCostItem("总计");
|
|
totalVo.setCostItem("总计");
|
|
|
HospitalVisitCostCompositionVO drugTotalVo = new HospitalVisitCostCompositionVO();
|
|
HospitalVisitCostCompositionVO drugTotalVo = new HospitalVisitCostCompositionVO();
|
|
|
- totalVo.setCostItem("药品费");
|
|
|
|
|
|
|
+ drugTotalVo.setCostItem("药品费");
|
|
|
|
|
+ drugTotalVo.setChildren(new ArrayList<>());
|
|
|
// 转成List便于处理
|
|
// 转成List便于处理
|
|
|
List<HospitalVisitCostCompositionVO> reportList = costItemMap.values().stream().collect(Collectors.toList());
|
|
List<HospitalVisitCostCompositionVO> reportList = costItemMap.values().stream().collect(Collectors.toList());
|
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
|
- //计算每诊次的医疗全成本
|
|
|
|
|
- item.setHospitalFullCost(getPercent(visitParamValue,totalVo.getHospitalFullCost()));
|
|
|
|
|
//计算每诊次的医疗成本
|
|
//计算每诊次的医疗成本
|
|
|
- item.setMedicalCost(getPercent(visitParamValue,totalVo.getMedicalCost()));
|
|
|
|
|
|
|
+ item.setMedicalCost(getPercent(item.getMedicalCost(),visitParamValue));
|
|
|
|
|
+ //计算每诊次的医疗全成本
|
|
|
|
|
+ item.setMedicalFullCost(getPercent(item.getMedicalFullCost(),visitParamValue));
|
|
|
//计算每诊次的医院全成本
|
|
//计算每诊次的医院全成本
|
|
|
- item.setHospitalFullCost(getPercent(visitParamValue,totalVo.getMedicalFullCost()));
|
|
|
|
|
|
|
+ item.setHospitalFullCost(getPercent(item.getHospitalFullCost(),visitParamValue));
|
|
|
// 将金额加到总计对象中
|
|
// 将金额加到总计对象中
|
|
|
addBigDecimalFields(item, totalVo);
|
|
addBigDecimalFields(item, totalVo);
|
|
|
/// 将金额加到药品对象中
|
|
/// 将金额加到药品对象中
|
|
|
if(NumberConstant.THREE_S.equals(item.getCostType())){
|
|
if(NumberConstant.THREE_S.equals(item.getCostType())){
|
|
|
addBigDecimalFields(item, drugTotalVo);
|
|
addBigDecimalFields(item, drugTotalVo);
|
|
|
|
|
+ drugTotalVo.getChildren().add(item);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ drugTotalVo.getChildren().forEach(item -> reportList.remove(item));
|
|
|
//添加到列表的指定位置
|
|
//添加到列表的指定位置
|
|
|
reportList.add(NumberConstant.TWO,drugTotalVo);
|
|
reportList.add(NumberConstant.TWO,drugTotalVo);
|
|
|
reportList.add(NumberConstant.ZERO,totalVo);
|
|
reportList.add(NumberConstant.ZERO,totalVo);
|
|
@@ -559,12 +562,13 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
// 获取诊次床日分摊参数代码
|
|
// 获取诊次床日分摊参数代码
|
|
|
String[] visitsBedDaysParamCode = getVisitsBedDaysParamCode();
|
|
String[] visitsBedDaysParamCode = getVisitsBedDaysParamCode();
|
|
|
BigDecimal visitParamValue = getParamValue(shareParamValueList, visitsBedDaysParamCode[NumberConstant.ZERO]);
|
|
BigDecimal visitParamValue = getParamValue(shareParamValueList, visitsBedDaysParamCode[NumberConstant.ZERO]);
|
|
|
-
|
|
|
|
|
|
|
+ Map<String, List<ShareParamValue>> respParamValueList = shareParamValueList.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(item -> item.getResponsibilityCode()));
|
|
|
// 处理 allocationQueryList 数据
|
|
// 处理 allocationQueryList 数据
|
|
|
Map<String, HospitalVisitCostCompositionVO> deptVisitCostMap = new HashMap<>();
|
|
Map<String, HospitalVisitCostCompositionVO> deptVisitCostMap = new HashMap<>();
|
|
|
|
|
|
|
|
for (AllocationQuery allocationQuery : allocationQueryList) {
|
|
for (AllocationQuery allocationQuery : allocationQueryList) {
|
|
|
- String responsibilityCode = allocationQuery.getTargetResponsibilityCode();
|
|
|
|
|
|
|
+ String responsibilityCode = allocationQuery.getResponsibilityCode();
|
|
|
Responsibility responsibility = standCostDictMaps.getResponsibilityMap().get(responsibilityCode);
|
|
Responsibility responsibility = standCostDictMaps.getResponsibilityMap().get(responsibilityCode);
|
|
|
if (responsibility == null) {
|
|
if (responsibility == null) {
|
|
|
continue;
|
|
continue;
|
|
@@ -589,8 +593,9 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
vo.setResponsibilitySort(responsibility.getSort());
|
|
vo.setResponsibilitySort(responsibility.getSort());
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(vo);
|
|
BeanUtil.initBigDecimalFieldsToZero(vo);
|
|
|
|
|
+ deptVisitCostMap.put(responsibilityCode, vo);
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
// 医疗成本
|
|
// 医疗成本
|
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
|
vo.setMedicalCost(vo.getMedicalCost().add(allocationQuery.getAmount()));
|
|
vo.setMedicalCost(vo.getMedicalCost().add(allocationQuery.getAmount()));
|
|
@@ -609,12 +614,22 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
HospitalVisitCostCompositionVO grandTotal = createSubtotalVo(reportList.get(NumberConstant.ZERO), "总计", HospitalVisitCostCompositionVO.class);
|
|
HospitalVisitCostCompositionVO grandTotal = createSubtotalVo(reportList.get(NumberConstant.ZERO), "总计", HospitalVisitCostCompositionVO.class);
|
|
|
// 计算每诊次成本
|
|
// 计算每诊次成本
|
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
|
- //计算每诊次的医疗全成本
|
|
|
|
|
- item.setHospitalFullCost(getPercent(visitParamValue,item.getHospitalFullCost()));
|
|
|
|
|
|
|
+ List<ShareParamValue> respShareParamValues = respParamValueList.get(item.getResponsibilityCode());
|
|
|
|
|
+ if(CollectionUtils.isEmpty(respShareParamValues)){
|
|
|
|
|
+ item.setServiceCount(BigDecimal.ZERO);
|
|
|
|
|
+ item.setMedicalCost(BigDecimal.ZERO);
|
|
|
|
|
+ item.setMedicalFullCost(BigDecimal.ZERO);
|
|
|
|
|
+ item.setHospitalFullCost(BigDecimal.ZERO);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal respParamValue = getParamValue(respShareParamValues, visitsBedDaysParamCode[NumberConstant.ZERO]);
|
|
|
|
|
+ item.setServiceCount(respParamValue);
|
|
|
//计算每诊次的医疗成本
|
|
//计算每诊次的医疗成本
|
|
|
- item.setMedicalCost(getPercent(visitParamValue,item.getMedicalCost()));
|
|
|
|
|
|
|
+ item.setMedicalCost(getPercent(item.getMedicalCost(),respParamValue));
|
|
|
|
|
+ //计算每诊次的医疗全成本
|
|
|
|
|
+ item.setMedicalFullCost(getPercent(item.getMedicalFullCost(),respParamValue));
|
|
|
//计算每诊次的医院全成本
|
|
//计算每诊次的医院全成本
|
|
|
- item.setHospitalFullCost(getPercent(visitParamValue,item.getMedicalFullCost()));
|
|
|
|
|
|
|
+ item.setHospitalFullCost(getPercent(item.getHospitalFullCost(),respParamValue));
|
|
|
// 将各科室金额累加到总计对象
|
|
// 将各科室金额累加到总计对象
|
|
|
addBigDecimalFields(item, grandTotal);
|
|
addBigDecimalFields(item, grandTotal);
|
|
|
}
|
|
}
|
|
@@ -622,7 +637,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
reportList.sort(Comparator.comparing(HospitalVisitCostCompositionVO::getResponsibilitySort,
|
|
reportList.sort(Comparator.comparing(HospitalVisitCostCompositionVO::getResponsibilitySort,
|
|
|
Comparator.nullsLast(Comparator.naturalOrder())));
|
|
Comparator.nullsLast(Comparator.naturalOrder())));
|
|
|
// 添加总计行
|
|
// 添加总计行
|
|
|
- reportList.add(NumberConstant.ZERO,grandTotal);
|
|
|
|
|
|
|
+// reportList.add(NumberConstant.ZERO,grandTotal);
|
|
|
return reportList;
|
|
return reportList;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -660,7 +675,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if (account == null) {
|
|
if (account == null) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
HospitalVisitCostCompositionVO vo = costItemMap.get(account.getType());
|
|
HospitalVisitCostCompositionVO vo = costItemMap.get(account.getType());
|
|
|
// 医疗成本
|
|
// 医疗成本
|
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
@@ -683,23 +698,27 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
HospitalVisitCostCompositionVO totalVo = new HospitalVisitCostCompositionVO();
|
|
HospitalVisitCostCompositionVO totalVo = new HospitalVisitCostCompositionVO();
|
|
|
totalVo.setCostItem("总计");
|
|
totalVo.setCostItem("总计");
|
|
|
HospitalVisitCostCompositionVO drugTotalVo = new HospitalVisitCostCompositionVO();
|
|
HospitalVisitCostCompositionVO drugTotalVo = new HospitalVisitCostCompositionVO();
|
|
|
- totalVo.setCostItem("药品费");
|
|
|
|
|
|
|
+ drugTotalVo.setCostItem("药品费");
|
|
|
|
|
+ drugTotalVo.setChildren(new ArrayList<>());
|
|
|
// 转成List便于处理
|
|
// 转成List便于处理
|
|
|
List<HospitalVisitCostCompositionVO> reportList = costItemMap.values().stream().collect(Collectors.toList());
|
|
List<HospitalVisitCostCompositionVO> reportList = costItemMap.values().stream().collect(Collectors.toList());
|
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
|
- //计算每诊次的医疗全成本
|
|
|
|
|
- item.setHospitalFullCost(getPercent(bedDaysParamValue,totalVo.getHospitalFullCost()));
|
|
|
|
|
//计算每诊次的医疗成本
|
|
//计算每诊次的医疗成本
|
|
|
- item.setMedicalCost(getPercent(bedDaysParamValue,totalVo.getMedicalCost()));
|
|
|
|
|
|
|
+ item.setMedicalCost(getPercent(item.getMedicalCost(),bedDaysParamValue));
|
|
|
|
|
+ //计算每诊次的医疗全成本
|
|
|
|
|
+ item.setMedicalFullCost(getPercent(item.getMedicalFullCost(),bedDaysParamValue));
|
|
|
//计算每诊次的医院全成本
|
|
//计算每诊次的医院全成本
|
|
|
- item.setHospitalFullCost(getPercent(bedDaysParamValue,totalVo.getMedicalFullCost()));
|
|
|
|
|
|
|
+ item.setHospitalFullCost(getPercent(item.getHospitalFullCost(),bedDaysParamValue));
|
|
|
// 将金额加到总计对象中
|
|
// 将金额加到总计对象中
|
|
|
addBigDecimalFields(item, totalVo);
|
|
addBigDecimalFields(item, totalVo);
|
|
|
/// 将金额加到药品对象中
|
|
/// 将金额加到药品对象中
|
|
|
if(NumberConstant.THREE_S.equals(item.getCostType())){
|
|
if(NumberConstant.THREE_S.equals(item.getCostType())){
|
|
|
addBigDecimalFields(item, drugTotalVo);
|
|
addBigDecimalFields(item, drugTotalVo);
|
|
|
|
|
+ drugTotalVo.getChildren().add(item);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ //移除掉药品费(避免重复)
|
|
|
|
|
+ drugTotalVo.getChildren().forEach(item -> reportList.remove(item));
|
|
|
//添加到列表的指定位置
|
|
//添加到列表的指定位置
|
|
|
reportList.add(NumberConstant.TWO,drugTotalVo);
|
|
reportList.add(NumberConstant.TWO,drugTotalVo);
|
|
|
reportList.add(NumberConstant.ZERO,totalVo);
|
|
reportList.add(NumberConstant.ZERO,totalVo);
|
|
@@ -734,7 +753,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
Map<String, HospitalVisitCostCompositionVO> deptVisitCostMap = new HashMap<>();
|
|
Map<String, HospitalVisitCostCompositionVO> deptVisitCostMap = new HashMap<>();
|
|
|
|
|
|
|
|
for (AllocationQuery allocationQuery : allocationQueryList) {
|
|
for (AllocationQuery allocationQuery : allocationQueryList) {
|
|
|
- String responsibilityCode = allocationQuery.getTargetResponsibilityCode();
|
|
|
|
|
|
|
+ String responsibilityCode = allocationQuery.getResponsibilityCode();
|
|
|
Responsibility responsibility = standCostDictMaps.getResponsibilityMap().get(responsibilityCode);
|
|
Responsibility responsibility = standCostDictMaps.getResponsibilityMap().get(responsibilityCode);
|
|
|
if (responsibility == null) {
|
|
if (responsibility == null) {
|
|
|
continue;
|
|
continue;
|
|
@@ -759,8 +778,9 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
vo.setResponsibilitySort(responsibility.getSort());
|
|
vo.setResponsibilitySort(responsibility.getSort());
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(vo);
|
|
BeanUtil.initBigDecimalFieldsToZero(vo);
|
|
|
|
|
+ deptVisitCostMap.put(responsibilityCode, vo);
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
// 医疗成本
|
|
// 医疗成本
|
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
if ("1".equals(costType.getExpandOne())) {
|
|
|
vo.setMedicalCost(vo.getMedicalCost().add(allocationQuery.getAmount()));
|
|
vo.setMedicalCost(vo.getMedicalCost().add(allocationQuery.getAmount()));
|
|
@@ -778,16 +798,28 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
// 获取诊次床日分摊参数代码
|
|
// 获取诊次床日分摊参数代码
|
|
|
String[] visitsBedDaysParamCode = getVisitsBedDaysParamCode();
|
|
String[] visitsBedDaysParamCode = getVisitsBedDaysParamCode();
|
|
|
BigDecimal bedDaysParamValue = getParamValue(shareParamValueList, visitsBedDaysParamCode[NumberConstant.ONE]);
|
|
BigDecimal bedDaysParamValue = getParamValue(shareParamValueList, visitsBedDaysParamCode[NumberConstant.ONE]);
|
|
|
|
|
+ Map<String, List<ShareParamValue>> respParamValueList = shareParamValueList.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(item -> item.getResponsibilityCode()));
|
|
|
// 创建总计对象
|
|
// 创建总计对象
|
|
|
HospitalVisitCostCompositionVO grandTotal = createSubtotalVo(reportList.get(NumberConstant.ZERO), "总计", HospitalVisitCostCompositionVO.class);
|
|
HospitalVisitCostCompositionVO grandTotal = createSubtotalVo(reportList.get(NumberConstant.ZERO), "总计", HospitalVisitCostCompositionVO.class);
|
|
|
// 计算每诊次成本
|
|
// 计算每诊次成本
|
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
for (HospitalVisitCostCompositionVO item : reportList) {
|
|
|
|
|
+ List<ShareParamValue> respShareParamValues = respParamValueList.get(item.getResponsibilityCode());
|
|
|
|
|
+ if(CollectionUtils.isEmpty(respShareParamValues)){
|
|
|
|
|
+ item.setServiceCount(BigDecimal.ZERO);
|
|
|
|
|
+ item.setMedicalCost(BigDecimal.ZERO);
|
|
|
|
|
+ item.setMedicalFullCost(BigDecimal.ZERO);
|
|
|
|
|
+ item.setHospitalFullCost(BigDecimal.ZERO);
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ BigDecimal respParamValue = getParamValue(respShareParamValues, visitsBedDaysParamCode[NumberConstant.ZERO]);
|
|
|
|
|
+ item.setServiceCount(respParamValue);
|
|
|
//计算每诊次的医疗全成本
|
|
//计算每诊次的医疗全成本
|
|
|
- item.setHospitalFullCost(getPercent(bedDaysParamValue,item.getHospitalFullCost()));
|
|
|
|
|
|
|
+ item.setHospitalFullCost(getPercent(item.getHospitalFullCost(),bedDaysParamValue));
|
|
|
//计算每诊次的医疗成本
|
|
//计算每诊次的医疗成本
|
|
|
- item.setMedicalCost(getPercent(bedDaysParamValue,item.getMedicalCost()));
|
|
|
|
|
|
|
+ item.setMedicalCost(getPercent(item.getMedicalCost(),bedDaysParamValue));
|
|
|
//计算每诊次的医院全成本
|
|
//计算每诊次的医院全成本
|
|
|
- item.setHospitalFullCost(getPercent(bedDaysParamValue,item.getMedicalFullCost()));
|
|
|
|
|
|
|
+ item.setHospitalFullCost(getPercent(item.getMedicalFullCost(),bedDaysParamValue));
|
|
|
// 将各科室金额累加到总计对象
|
|
// 将各科室金额累加到总计对象
|
|
|
addBigDecimalFields(item, grandTotal);
|
|
addBigDecimalFields(item, grandTotal);
|
|
|
}
|
|
}
|
|
@@ -1563,7 +1595,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if (accountType == null) {
|
|
if (accountType == null) {
|
|
|
return; // 添加 null 检查
|
|
return; // 添加 null 检查
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
|
|
|
|
|
|
ClinicalDeptFullCostVO reportVO = new ClinicalDeptFullCostVO();
|
|
ClinicalDeptFullCostVO reportVO = new ClinicalDeptFullCostVO();
|
|
@@ -1574,6 +1606,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
initDeptCostReport(reportVO, responsibility, accountType, costType, standardShareLevel);
|
|
initDeptCostReport(reportVO, responsibility, accountType, costType, standardShareLevel);
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
|
|
|
+ reportMap.put(allocationQuery.getResponsibilityCode(), reportVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 根据费用类型累加到对应字段
|
|
// 根据费用类型累加到对应字段
|
|
@@ -1664,7 +1697,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if (accountType == null) {
|
|
if (accountType == null) {
|
|
|
return; // 添加 null 检查
|
|
return; // 添加 null 检查
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
|
|
|
|
|
|
ClinicalDeptMedicalCostVO reportVO = new ClinicalDeptMedicalCostVO();
|
|
ClinicalDeptMedicalCostVO reportVO = new ClinicalDeptMedicalCostVO();
|
|
@@ -1675,6 +1708,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
initDeptCostReport(reportVO, responsibility, accountType, costType, standardShareLevel);
|
|
initDeptCostReport(reportVO, responsibility, accountType, costType, standardShareLevel);
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
|
|
|
+ reportMap.put(allocationQuery.getResponsibilityCode(), reportVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 根据费用类型累加到对应字段
|
|
// 根据费用类型累加到对应字段
|
|
@@ -1873,7 +1907,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if(!NumberConstant.ONE_S.equals(accountType.getExpandOne()) ){
|
|
if(!NumberConstant.ONE_S.equals(accountType.getExpandOne()) ){
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
|
DeptDirectMedicalCostVO deptDirectMedicalCostVO= new DeptDirectMedicalCostVO();
|
|
DeptDirectMedicalCostVO deptDirectMedicalCostVO= new DeptDirectMedicalCostVO();
|
|
|
if(deptDirectMedicalCostMap.containsKey(allocationQuery.getResponsibilityCode())){
|
|
if(deptDirectMedicalCostMap.containsKey(allocationQuery.getResponsibilityCode())){
|
|
@@ -1882,6 +1916,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
initDeptCostReport(deptDirectMedicalCostVO, responsibility,accountType, costType,standardShareLevel);
|
|
initDeptCostReport(deptDirectMedicalCostVO, responsibility,accountType, costType,standardShareLevel);
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(deptDirectMedicalCostVO);
|
|
BeanUtil.initBigDecimalFieldsToZero(deptDirectMedicalCostVO);
|
|
|
|
|
+ deptDirectMedicalCostMap.put(allocationQuery.getResponsibilityCode(),deptDirectMedicalCostVO);
|
|
|
}
|
|
}
|
|
|
// 根据费用类型累加到对应字段
|
|
// 根据费用类型累加到对应字段
|
|
|
switch (accountType.getExpandOne()) {
|
|
switch (accountType.getExpandOne()) {
|
|
@@ -1938,7 +1973,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
if (accountType == null) {
|
|
if (accountType == null) {
|
|
|
return; // 添加 null 检查
|
|
return; // 添加 null 检查
|
|
|
}
|
|
}
|
|
|
- DictDataVo costType = standCostDictMaps.getCostTypeMap().get(account.getCostType());
|
|
|
|
|
|
|
+ DictDataVo costType = standCostDictMaps.getCostTypeMap().get(String.valueOf(account.getCostType()));
|
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
DictDataVo standardShareLevel = standCostDictMaps.getStandardShareLevelMap().get(responsibility.getStandardShareLevel());
|
|
|
|
|
|
|
|
DeptFullDirectCostVO reportVO = new DeptFullDirectCostVO();
|
|
DeptFullDirectCostVO reportVO = new DeptFullDirectCostVO();
|
|
@@ -1948,6 +1983,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
initDeptCostReport(reportVO, responsibility,accountType, costType,standardShareLevel);
|
|
initDeptCostReport(reportVO, responsibility,accountType, costType,standardShareLevel);
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
BeanUtil.initBigDecimalFieldsToZero(reportVO);
|
|
|
|
|
+ reportMap.put(allocationQuery.getResponsibilityCode(),reportVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 根据费用类型累加到对应字段
|
|
// 根据费用类型累加到对应字段
|
|
@@ -2106,6 +2142,7 @@ public class StandardReportServiceImpl implements StandardReportService {
|
|
|
|
|
|
|
|
// 初始化所有费用字段为0
|
|
// 初始化所有费用字段为0
|
|
|
BeanUtil.initBigDecimalFieldsToZero(costAllocationVO);
|
|
BeanUtil.initBigDecimalFieldsToZero(costAllocationVO);
|
|
|
|
|
+ deptCostAllocationMap.put(responsibilityCode, costAllocationVO);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 直接成本
|
|
// 直接成本
|