Ver Fonte

单病种的不需要上传医保费用

hurugang há 3 anos atrás
pai
commit
a9e9a70ea3

+ 10 - 7
src/main/java/cn/hnthyy/thmz/service/impl/his/mz/MzChargeDetailServiceImpl.java

@@ -499,13 +499,16 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
         int serialNo = mzSerialNoService.getSerialNo();
         MzReceiptSerial mzReceiptSerial = new MzReceiptSerial();
         ReceiptSerialFee receiptSerialFee = new ReceiptSerialFee();
-        for (MzDepositFile m : mzDepositFileVo.getMzDepositFiles()) {
-            if (Constants.YBJZ.equals(m.getChequeType())) {
-                PayInfo payInfo = tsmzService.calculateCost(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), receiptNo);
-                if (payInfo == null || payInfo.getCode() == -1) {
-                    throw new MzException("特门费用结算失败,错误原因:" + payInfo.getErrorMessage());
+        if(!Constants.DBZJF_CODE.equals(opId)){
+            //单病种收费方式也是医保记账,但是不用传医保费用 所以需要排除
+            for (MzDepositFile m : mzDepositFileVo.getMzDepositFiles()) {
+                if (Constants.YBJZ.equals(m.getChequeType()) ) {
+                    PayInfo payInfo = tsmzService.calculateCost(opId, mzDepositFileVo.getPatientId(), mzDepositFileVo.getTimes(), receiptNo);
+                    if (payInfo == null || payInfo.getCode() == -1) {
+                        throw new MzException("特门费用结算失败,错误原因:" + payInfo.getErrorMessage());
+                    }
+                    continue;
                 }
-                continue;
             }
         }
         //实际支付金额 收银员收的钱
@@ -3530,7 +3533,7 @@ public class MzChargeDetailServiceImpl implements MzChargeDetailService {
             itemNo = setDjSupplyCharge(mzChargeDetails, itemNo, receiptNo, hadCountSupplyFeeSet, mcd, key,mzPatientMi);
             //非口服用药方式,需要写入收费记录
             itemNo = formatSupplyFee(mzChargeDetails, itemNo, receiptNo, hadCountSupplyFeeSet, mcd, key,mzPatientMi);
-            if(Constants.YJ_GROUP_NO.equals(mcd.getGroupNo())){
+            if(Constants.YJ_GROUP_NO.equals(mcd.getGroupNo()) && !Constants.TC.equals(mcd.getBillItemCode())){
                 ZdChargeItem zdChargeItem = zdChargeItemService.queryZdChargeItemByCode(mcd.getChargeItemCode());
                 if(zdChargeItem==null){
                     throw new MzException("编码为【"+mcd.getChargeItemCode()+"】的项目不存在!");