yeguodong 2 周之前
父节点
当前提交
fb405488bc
共有 1 个文件被更改,包括 20 次插入0 次删除
  1. 20 0
      src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzyReqrecServiceImpl.java

+ 20 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzyReqrecServiceImpl.java

@@ -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();
     }