|
@@ -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()+"】的项目不存在!");
|