|
@@ -163,6 +163,26 @@ public class MzyReqrecServiceImpl implements MzyReqrecService {
|
|
|
Date now = new Date();
|
|
|
fomartReqrec(mzyReqrec, mzPatientMi, null, mzyZdChargeType, times, serialNo, now, mzyRequest);
|
|
|
List<MzyReqrec> mzyReqrecList = mzyReqrecMapper.getIsReq(mzyReqrec);
|
|
|
+ BigDecimal tempFee = BigDecimal.ZERO;
|
|
|
+ if (mzyReqrec.getOthFee() != null) {
|
|
|
+ tempFee = tempFee.add(mzyReqrec.getOthFee());
|
|
|
+ }
|
|
|
+ if (mzyReqrec.getReqFee() != null) {
|
|
|
+ tempFee = tempFee.add(mzyReqrec.getReqFee());
|
|
|
+ }
|
|
|
+ if (mzyReqrec.getClinicFee() != null) {
|
|
|
+ tempFee = tempFee.add(mzyReqrec.getClinicFee());
|
|
|
+ }
|
|
|
+ if (mzyReqrec.getZlkFee() != null) {
|
|
|
+ tempFee = tempFee.add(mzyReqrec.getZlkFee());
|
|
|
+ }
|
|
|
+ if (mzyReqrec.getBlbFee() != null) {
|
|
|
+ tempFee = tempFee.add(mzyReqrec.getBlbFee());
|
|
|
+ }
|
|
|
+ BigDecimal tempTotalFee = mzyReqrecPageDto.getCouponAmt() != null && mzyReqrecPageDto.getCouponAmt().compareTo(BigDecimal.ZERO) == 1 ? mzyReqrecPageDto.getTotalFee().subtract(mzyReqrecPageDto.getCouponAmt()) : mzyReqrecPageDto.getTotalFee();
|
|
|
+ if (PayMarkEnum.CHARGED.code.equals(mzyReqrecPageDto.getPayMark()) && tempTotalFee.compareTo(BigDecimal.ZERO) > 0 && tempFee.compareTo(tempTotalFee) != 0) {
|
|
|
+ throw new MzException("当前病人已经挂号失败,实缴费用与实际费用不一致!");
|
|
|
+ }
|
|
|
return mzyReqrecList == null ? 0 : mzyReqrecList.size();
|
|
|
}
|
|
|
|