|
|
@@ -370,29 +370,27 @@ public class OrderApiImpl implements OrderApi {
|
|
|
|
|
|
/** 处理非外出/变更的日常费用(增值、点餐、护理、服务等) */
|
|
|
private void handleOtherDailyExpenses(OrderItemRespDTO dto, DailyExpensesDO dailyExpensesDO) {
|
|
|
- // 增值服务费
|
|
|
- String itemCategory = dailyExpensesDO.getItemCategory();
|
|
|
- if (itemCategory != null && itemCategory.contains("增值服务费")) {
|
|
|
- BigDecimal extraAmount = dailyExpensesDO.getAmount() == null ? BigDecimal.ZERO : dailyExpensesDO.getAmount();
|
|
|
- dto.setExtraServiceAmount(dto.getExtraServiceAmount().add(extraAmount));
|
|
|
+ String itemName = dailyExpensesDO.getItemName();
|
|
|
+ if (itemName != null) {
|
|
|
+ BigDecimal roundAmount = dailyExpensesDO.getAmount() == null ? BigDecimal.ZERO : dailyExpensesDO.getAmount();
|
|
|
+ if ("点餐".equals(itemName)) {
|
|
|
+ BigDecimal currentAmount = dto.getOrderFoodAmount() == null ? BigDecimal.ZERO : dto.getOrderFoodAmount();
|
|
|
+ dto.setOrderFoodAmount(currentAmount.add(roundAmount));
|
|
|
}
|
|
|
- String itemName = dailyExpensesDO.getItemName();
|
|
|
- if (itemName != null) {
|
|
|
- BigDecimal roundAmount = dailyExpensesDO.getAmount() == null ? BigDecimal.ZERO : dailyExpensesDO.getAmount();
|
|
|
- if ("点餐".equals(itemName)) {
|
|
|
- BigDecimal currentAmount = dto.getOrderFoodAmount() == null ? BigDecimal.ZERO : dto.getOrderFoodAmount();
|
|
|
- dto.setOrderFoodAmount(currentAmount.add(roundAmount));
|
|
|
- }
|
|
|
- if (itemName.contains("生命体征") || itemName.contains("医疗护理")) {
|
|
|
- BigDecimal currentAmount = dto.getOrderNursingAmount() == null ? BigDecimal.ZERO : dto.getOrderNursingAmount();
|
|
|
- dto.setOrderNursingAmount(currentAmount.add(roundAmount));
|
|
|
- }
|
|
|
- if (itemName.contains("身体护理")) {
|
|
|
- BigDecimal currentAmount = dto.getOrderServiceAmount() == null ? BigDecimal.ZERO : dto.getOrderServiceAmount();
|
|
|
- dto.setOrderServiceAmount(currentAmount.add(roundAmount));
|
|
|
- }
|
|
|
- }
|
|
|
+ if (itemName.contains("生命体征") || itemName.contains("医疗护理")) {
|
|
|
+ BigDecimal currentAmount = dto.getOrderNursingAmount() == null ? BigDecimal.ZERO : dto.getOrderNursingAmount();
|
|
|
+ dto.setOrderNursingAmount(currentAmount.add(roundAmount));
|
|
|
}
|
|
|
+ if (itemName.contains("身体护理")) {
|
|
|
+ BigDecimal currentAmount = dto.getOrderServiceAmount() == null ? BigDecimal.ZERO : dto.getOrderServiceAmount();
|
|
|
+ dto.setOrderServiceAmount(currentAmount.add(roundAmount));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ BigDecimal extraAmount = dailyExpensesDO.getAmount() == null ? BigDecimal.ZERO : dailyExpensesDO.getAmount();
|
|
|
+ dto.setExtraServiceAmount(dto.getExtraServiceAmount().add(extraAmount));
|
|
|
+ dto.setAdjustAmount(dto.getAdjustAmount().add(extraAmount));
|
|
|
+ dto.setRemark((dto.getRemark() == null ? "" : dto.getRemark()) + dailyExpensesDO.getRemarks() + itemName + ":" + dailyExpensesDO.getAmount());
|
|
|
+ }
|
|
|
|
|
|
/** 汇总标准/实际合计及占比 */
|
|
|
private void computeTotals(OrderItemRespDTO dto) {
|