소스 검색

补充提交
1、解决账单分页中床位费、护理费、餐饮费没有记录相关变更费用的问题

liangwenxuan 2 달 전
부모
커밋
0923d3b1f1

+ 9 - 8
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/ExpenseOrderServiceImpl.java

@@ -188,24 +188,25 @@ public class ExpenseOrderServiceImpl implements ExpenseOrderService {
             }
 
             for (ExpenseOrderItemDO orderItem : orderItems) {
+                String categoryKey = orderItem.getItemCategoryName().replaceAll("-", "").replace("/", "");
                 if(orderItem.getExpenseSource().equals(BusinessConstants.EXPENSE_ITEM)){
                     if (orderItem.getType() != null && orderItem.getType() == 1) {
-                        typeCategoryMap.put(orderItem.getType(),orderItem.getItemCategoryName());
-                        categoryAmountMap.put(orderItem.getItemCategoryName(),orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
+                        typeCategoryMap.put(orderItem.getType(), categoryKey);
+                        categoryAmountMap.put(categoryKey,orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
                     } else if (orderItem.getType() != null && orderItem.getType() == 2) {
-                        typeCategoryMap.put(orderItem.getType(),orderItem.getItemCategoryName());
-                        categoryAmountMap.put(orderItem.getItemCategoryName(),orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
+                        typeCategoryMap.put(orderItem.getType(), categoryKey);
+                        categoryAmountMap.put(categoryKey,orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
                     } else if (orderItem.getType() != null && orderItem.getType() == 3) {
-                        typeCategoryMap.put(orderItem.getType(),orderItem.getItemCategoryName());
-                        categoryAmountMap.put(orderItem.getItemCategoryName(),orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
+                        typeCategoryMap.put(orderItem.getType(), categoryKey);
+                        categoryAmountMap.put(categoryKey,orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
                     }else {
                         otherAmount = otherAmount.add(orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
                         otherRoundAmount = otherRoundAmount.add(orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));
                     }
                 } else {
-                    BigDecimal categoryAmount = categoryAmountMap.get(orderItem.getItemCategoryName());
+                    BigDecimal categoryAmount = categoryAmountMap.get(categoryKey);
                     if(categoryAmount != null){
-                        categoryAmountMap.put(orderItem.getItemCategoryName(),categoryAmount.add(orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP)));
+                        categoryAmountMap.put(categoryKey,categoryAmount.add(orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP)));
                         continue;
                     }
                     otherAmount = otherAmount.add(orderItem.getTotalAmount().setScale(2, RoundingMode.HALF_UP));