|
@@ -748,7 +748,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
//实际应付金额
|
|
|
BigDecimal totalPayable = getTotalPayable(mzChargeDetailList, feeMap, false);
|
|
|
//实际应付金额 四舍五入后的值 收费员收的钱小数点后只有一位有效值
|
|
|
- BigDecimal totalPayableRound = totalPayable.setScale(1, BigDecimal.ROUND_HALF_UP);
|
|
|
+ BigDecimal totalPayableRound = totalPayable.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
//单病种收费不设置金额,所以自动设置金额
|
|
|
if (Constants.DBZJF_CODE.equals(opId)) {
|
|
|
mzDepositFileVo.getMzDepositFiles().get(0).setAmount(totalPayableRound);
|
|
@@ -1044,10 +1044,10 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
mzChargeDetail.setDoctorCode(doctorCode == null ? "" : doctorCode);
|
|
|
}
|
|
|
if (mzChargeDetail.getAmount() != null) {
|
|
|
- mzChargeDetail.setAmount(mzChargeDetail.getAmount().setScale(1, BigDecimal.ROUND_HALF_UP));
|
|
|
+ mzChargeDetail.setAmount(mzChargeDetail.getAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
if (mzChargeDetail.getNotDiscountAmount() != null) {
|
|
|
- mzChargeDetail.setNotDiscountAmount(mzChargeDetail.getNotDiscountAmount().setScale(1, BigDecimal.ROUND_HALF_UP));
|
|
|
- mzChargeDetail.setDiscountAmount(mzChargeDetail.getNotDiscountAmount().subtract(mzChargeDetail.getAmount()).setScale(1, BigDecimal.ROUND_HALF_UP));
|
|
|
+ mzChargeDetail.setNotDiscountAmount(mzChargeDetail.getNotDiscountAmount().setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
+ mzChargeDetail.setDiscountAmount(mzChargeDetail.getNotDiscountAmount().subtract(mzChargeDetail.getAmount()).setScale(2, BigDecimal.ROUND_HALF_UP));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -3039,7 +3039,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
amountList.add((BigDecimal) resultMap.get(String.valueOf(i)));
|
|
|
resultMap.remove(String.valueOf(i));
|
|
|
}
|
|
|
- discountAmount = notDiscountAmount.subtract(amount).setScale(1, BigDecimal.ROUND_HALF_UP);
|
|
|
+ discountAmount = notDiscountAmount.subtract(amount).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
resultMap.put("amount", amount);
|
|
|
resultMap.put("notDiscountAmount", notDiscountAmount);
|
|
|
resultMap.put("discountAmount", discountAmount);
|
|
@@ -5122,58 +5122,58 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
|
|
|
Map<String, BigDecimal> feeMap = new HashMap<>();
|
|
|
//实际应付金额
|
|
|
getTotalPayable(temp, feeMap, needDiscount);
|
|
|
- for (String key : feeMap.keySet()) {
|
|
|
- BigDecimal amount = feeMap.get(key).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- totalFee = totalFee.add(amount);
|
|
|
- }
|
|
|
- totalFee = totalFee.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
- BigDecimal realTotal = totalFee.setScale(1, BigDecimal.ROUND_HALF_UP);
|
|
|
- BigDecimal sZero = realTotal.subtract(totalFee);
|
|
|
- if (sZero.compareTo(BigDecimal.ZERO) != 0) {
|
|
|
- MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
- newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
- newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
- newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
- newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
- newMzChargeDetail.setItemNo(itemNo++);
|
|
|
- newMzChargeDetail.setChargeItemCode(Constants.SSWR_CHARGE_ITEM_CODE);
|
|
|
- newMzChargeDetail.setBillItemCode(Constants.SSWRF);
|
|
|
- newMzChargeDetail.setQuantity(1D);
|
|
|
- newMzChargeDetail.setUnitPrice(sZero);
|
|
|
- newMzChargeDetail.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
- newMzChargeDetail.setSerial(Constants.YJ_GROUP_NO);
|
|
|
- newMzChargeDetail.setSerialNo(0);
|
|
|
- newMzChargeDetail.setName(mzPatientMi != null ? mzPatientMi.getName() : "");
|
|
|
- newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
- newMzChargeDetail.setDrugWin(1);
|
|
|
- newMzChargeDetail.setPriceId(temp.get(0).getPriceId());
|
|
|
- newMzChargeDetail.setPriceTime(temp.get(0).getPriceTime());
|
|
|
- newMzChargeDetail.setExecDept(temp.get(0).getExecDept());
|
|
|
- newMzChargeDetail.setPrintFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setConfirmFlag(ConfirmFlagEnum.NOT_CONFIRM.code);
|
|
|
- newMzChargeDetail.setWarnDept(temp.get(0).getWarnDept());
|
|
|
- newMzChargeDetail.setJzFlag(temp.get(0).getJzFlag());
|
|
|
- newMzChargeDetail.setDoctorCode(temp.get(0).getDoctorCode());
|
|
|
- newMzChargeDetail.setDoctorFlag(YesNoEnum.YES.code.toString());
|
|
|
- newMzChargeDetail.setInjectRes(Double.valueOf(YesNoEnum.YES.code));
|
|
|
- newMzChargeDetail.setRealNo(0);
|
|
|
- newMzChargeDetail.setYbbxFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setDetailFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setOrderType(YesNoEnum.YES.code.toString());
|
|
|
- newMzChargeDetail.setSupplyNo("Y");
|
|
|
- newMzChargeDetail.setReqNo(0);
|
|
|
- newMzChargeDetail.setGroupType(GroupTypeEnum.DIAGNOSIS.code);
|
|
|
- newMzChargeDetail.setOrderBill(0);
|
|
|
- newMzChargeDetail.setChargeBillCode(Constants.SSWR_BILL_ITEM_CODE);
|
|
|
- newMzChargeDetail.setSelfFlag(YesNoEnum.NO.code.toString());
|
|
|
- newMzChargeDetail.setResponceType(mzPatientMi == null ? Constants.SELF_PAYING_RESPONCE_TYPE : mzPatientMi.getResponseType());
|
|
|
- newMzChargeDetail.setGlPercentFt(BigDecimal.ONE);
|
|
|
- newMzChargeDetail.setOrigPrice(newMzChargeDetail.getUnitPrice());
|
|
|
- newMzChargeDetail.setTcName("四舍五入");
|
|
|
- newMzChargeDetail.setReqYj(YesNoEnum.YES.code.toString());
|
|
|
- newMzChargeDetail.setGroupId(YesNoEnum.NO.code);
|
|
|
- mzChargeDetails.add(newMzChargeDetail);
|
|
|
- }
|
|
|
+// for (String key : feeMap.keySet()) {
|
|
|
+// BigDecimal amount = feeMap.get(key).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+// totalFee = totalFee.add(amount);
|
|
|
+// }
|
|
|
+// totalFee = totalFee.setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
|
+// BigDecimal realTotal = totalFee.setScale(1, BigDecimal.ROUND_HALF_UP);
|
|
|
+// BigDecimal sZero = realTotal.subtract(totalFee);
|
|
|
+// if (sZero.compareTo(BigDecimal.ZERO) != 0) {
|
|
|
+// MzChargeDetail newMzChargeDetail = new MzChargeDetail();
|
|
|
+// newMzChargeDetail.setPatientId(mzChargeDetail.getPatientId());
|
|
|
+// newMzChargeDetail.setTimes(mzChargeDetail.getTimes());
|
|
|
+// newMzChargeDetail.setReceiptNo(receiptNo);
|
|
|
+// newMzChargeDetail.setOrderNo(maxOrderNo);
|
|
|
+// newMzChargeDetail.setItemNo(itemNo++);
|
|
|
+// newMzChargeDetail.setChargeItemCode(Constants.SSWR_CHARGE_ITEM_CODE);
|
|
|
+// newMzChargeDetail.setBillItemCode(Constants.SSWRF);
|
|
|
+// newMzChargeDetail.setQuantity(1D);
|
|
|
+// newMzChargeDetail.setUnitPrice(sZero);
|
|
|
+// newMzChargeDetail.setPayMark(PayMarkEnum.NO_CHARGE.code);
|
|
|
+// newMzChargeDetail.setSerial(Constants.YJ_GROUP_NO);
|
|
|
+// newMzChargeDetail.setSerialNo(0);
|
|
|
+// newMzChargeDetail.setName(mzPatientMi != null ? mzPatientMi.getName() : "");
|
|
|
+// newMzChargeDetail.setGroupNo(Constants.YJ_GROUP_NO);
|
|
|
+// newMzChargeDetail.setDrugWin(1);
|
|
|
+// newMzChargeDetail.setPriceId(temp.get(0).getPriceId());
|
|
|
+// newMzChargeDetail.setPriceTime(temp.get(0).getPriceTime());
|
|
|
+// newMzChargeDetail.setExecDept(temp.get(0).getExecDept());
|
|
|
+// newMzChargeDetail.setPrintFlag(YesNoEnum.NO.code.toString());
|
|
|
+// newMzChargeDetail.setConfirmFlag(ConfirmFlagEnum.NOT_CONFIRM.code);
|
|
|
+// newMzChargeDetail.setWarnDept(temp.get(0).getWarnDept());
|
|
|
+// newMzChargeDetail.setJzFlag(temp.get(0).getJzFlag());
|
|
|
+// newMzChargeDetail.setDoctorCode(temp.get(0).getDoctorCode());
|
|
|
+// newMzChargeDetail.setDoctorFlag(YesNoEnum.YES.code.toString());
|
|
|
+// newMzChargeDetail.setInjectRes(Double.valueOf(YesNoEnum.YES.code));
|
|
|
+// newMzChargeDetail.setRealNo(0);
|
|
|
+// newMzChargeDetail.setYbbxFlag(YesNoEnum.NO.code.toString());
|
|
|
+// newMzChargeDetail.setDetailFlag(YesNoEnum.NO.code.toString());
|
|
|
+// newMzChargeDetail.setOrderType(YesNoEnum.YES.code.toString());
|
|
|
+// newMzChargeDetail.setSupplyNo("Y");
|
|
|
+// newMzChargeDetail.setReqNo(0);
|
|
|
+// newMzChargeDetail.setGroupType(GroupTypeEnum.DIAGNOSIS.code);
|
|
|
+// newMzChargeDetail.setOrderBill(0);
|
|
|
+// newMzChargeDetail.setChargeBillCode(Constants.SSWR_BILL_ITEM_CODE);
|
|
|
+// newMzChargeDetail.setSelfFlag(YesNoEnum.NO.code.toString());
|
|
|
+// newMzChargeDetail.setResponceType(mzPatientMi == null ? Constants.SELF_PAYING_RESPONCE_TYPE : mzPatientMi.getResponseType());
|
|
|
+// newMzChargeDetail.setGlPercentFt(BigDecimal.ONE);
|
|
|
+// newMzChargeDetail.setOrigPrice(newMzChargeDetail.getUnitPrice());
|
|
|
+// newMzChargeDetail.setTcName("四舍五入");
|
|
|
+// newMzChargeDetail.setReqYj(YesNoEnum.YES.code.toString());
|
|
|
+// newMzChargeDetail.setGroupId(YesNoEnum.NO.code);
|
|
|
+// mzChargeDetails.add(newMzChargeDetail);
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
|