浏览代码

解决记账发票无法打印问题

hurugang 4 年之前
父节点
当前提交
3e173dced8
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      src/main/java/cn/hnthyy/thmz/controller/MzReceiptSerialController.java

+ 4 - 1
src/main/java/cn/hnthyy/thmz/controller/MzReceiptSerialController.java

@@ -147,11 +147,14 @@ public class MzReceiptSerialController {
             List<MzDepositFile> mzDepositFiles = mzDepositFileService.queryMzDepositFile(mz);
             //非本院记账 和非医保记账金额
             BigDecimal totalPay = BigDecimal.ZERO;
+            //所有付款方式总金额
+            BigDecimal fullTotalPay = BigDecimal.ZERO;
             if (mzDepositFiles != null && mzDepositFiles.size() > 0) {
                 for (MzDepositFile mzDepositFile : mzDepositFiles) {
                     if (!Constants.BYJZ.equals(mzDepositFile.getChequeType()) && !Constants.YBJZ.equals(mzDepositFile.getChequeType())) {
                         totalPay = totalPay.add(mzDepositFile.getAmount());
                     }
+                    fullTotalPay=fullTotalPay.add(mzDepositFile.getAmount());
                 }
             }
             if (BigDecimal.ZERO.compareTo(totalPay) == 0) {
@@ -166,7 +169,7 @@ public class MzReceiptSerialController {
             mzChargeDetailPageDto.setMzChargeDetail(mzChargeDetail);
             mzChargeDetailPageDto.setOwnData(YesNoEnum.YES);
             List<MzChargeDetail> mzChargeDetailList= mzChargeDetailService.queryMzChargeDetailWithPage(mzChargeDetailPageDto);
-            if(totalPay.compareTo(mzChargeDetailList.get(0).getAmount().setScale(2, BigDecimal.ROUND_HALF_UP))!=0){
+            if(fullTotalPay.compareTo(mzChargeDetailList.get(0).getAmount().setScale(2, BigDecimal.ROUND_HALF_UP))!=0){
                 resultMap.put("code", -1);
                 resultMap.put("message", "当前病人实际缴费金额与发票金额不一致,无法出示发票给患者,请联系信息管理员");
                 log.info("当前病人实际缴费金额与发票金额不一致,无法出示发票给患者,patientId={},time={},receiptNo={}", patientId, times, receiptNo);