|
@@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -904,8 +905,8 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
if (surplus.compareTo(BigDecimal.ZERO) == 1) {
|
|
|
temp = CloneUtil.clone(md);
|
|
|
temp.setQuantity(surplus.doubleValue());
|
|
|
- BigDecimal proportion = BigDecimal.valueOf(md.getQuantity()).divide(BigDecimal.valueOf(md.getSupplyAmount()));
|
|
|
- temp.setSupplyAmount(BigDecimal.valueOf(md.getQuantity()).divide(proportion).intValue());
|
|
|
+ //BigDecimal proportion = BigDecimal.valueOf(md.getQuantity()).divide(BigDecimal.valueOf(md.getSupplyAmount()),2,RoundingMode.HALF_UP);
|
|
|
+ //temp.setSupplyAmount(BigDecimal.valueOf(md.getQuantity()).divide(proportion).intValue());
|
|
|
BigDecimal origPrice = temp.getOrigPrice();
|
|
|
origPrice = origPrice == null ? BigDecimal.ZERO : origPrice;
|
|
|
BigDecimal unitPrice = temp.getUnitPrice();
|
|
@@ -958,19 +959,19 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
}
|
|
|
List<MzChargeDetail> supplyFeeMzChargeDetails = new ArrayList<>();
|
|
|
//重新计算给药方式费用
|
|
|
- itemNo = formatSupplyFee(supplyFeeMzChargeDetails, newMzChargeDetailList, itemNo);
|
|
|
+ // itemNo = formatSupplyFee(supplyFeeMzChargeDetails, newMzChargeDetailList, itemNo);
|
|
|
formatPriceRoundDetail(new MzChargeDetail(mzDepositFileVo.getPatientId(), times), supplyFeeMzChargeDetails, mzPatientMi, newMzChargeDetailList, 127, itemNo, receiptNo);
|
|
|
- List<String> supplyList = supplyFeeMzChargeDetails.stream().filter(u -> StringUtils.isNotBlank(u.getChargeItemCode())).map(u -> u.getChargeItemCode()).collect(Collectors.toList());
|
|
|
- List<MzChargeDetail> removeList = new ArrayList<>();
|
|
|
- for (MzChargeDetail md : newMzChargeDetailList) {
|
|
|
- if (supplyList.contains(md.getChargeItemCode())) {
|
|
|
- removeList.add(md);
|
|
|
- continue;
|
|
|
- }
|
|
|
- md.setConfirmFlag(ConfirmFlagEnum.NOT_CONFIRM.code);
|
|
|
- }
|
|
|
- newMzChargeDetailList.removeAll(removeList);
|
|
|
- newMzChargeDetailList.addAll(supplyFeeMzChargeDetails);
|
|
|
+// List<String> supplyList = supplyFeeMzChargeDetails.stream().filter(u -> StringUtils.isNotBlank(u.getChargeItemCode())).map(u -> u.getChargeItemCode()).collect(Collectors.toList());
|
|
|
+// List<MzChargeDetail> removeList = new ArrayList<>();
|
|
|
+// for (MzChargeDetail md : newMzChargeDetailList) {
|
|
|
+// if (supplyList.contains(md.getChargeItemCode())) {
|
|
|
+// removeList.add(md);
|
|
|
+// continue;
|
|
|
+// }
|
|
|
+// md.setConfirmFlag(ConfirmFlagEnum.NOT_CONFIRM.code);
|
|
|
+// }
|
|
|
+// newMzChargeDetailList.removeAll(removeList);
|
|
|
+// newMzChargeDetailList.addAll(supplyFeeMzChargeDetails);
|
|
|
removeOnlyTcItem(newMzChargeDetailList);
|
|
|
return newMzChargeDetailList;
|
|
|
}
|