判断修改
diff --git a/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java b/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
index 61bf880..b233471 100644
--- a/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/bus/service/impl/QrcodeConsumeServiceImpl.java
@@ -78,8 +78,10 @@
   public TThirdpartQrcodeTransdtl saveQRcodeTransdtl(String appid, String billno, String cardno, long amount, String transdate, String transtime, String qrcode, String tac, String termdesc, String shopaccno, boolean offlineflag) throws Exception {
     TThirdpartQrcodeTransdtl transdtl = thirdpartQrcodeTransdtlDao.getByBillnoWithLock(billno, appid);
     if (null != transdtl) {
-      if (cardno.equals(transdtl.getCardno()) && amount == transdtl.getAmount() && transdate.equals(transdtl.getTransdate())
-          && transtime.equals(transdtl.getTranstime()) && qrcode.equals(transdtl.getQrcode()) && tac.equals(transdtl.getTac())) {
+      if (amount == transdtl.getAmount() && transdate.equals(transdtl.getTransdate()) && transtime.equals(transdtl.getTranstime()) && qrcode.equals(transdtl.getQrcode()) &&
+          ((cardno == null && tac == null && transdtl.getCardno() == null && transdtl.getTac() == null)  //联机
+              || (cardno != null && tac != null && cardno.equals(transdtl.getCardno()) && tac.equals(transdtl.getTac()))) //脱机
+      ) {
         if (BusConstant.STATUS_TRANSDTL_INIT.equals(transdtl.getStatus()) && StringUtil.isEmpty(transdtl.getRefno())) {
           return transdtl; //重复请求
         } else {