private void readCard() { try { Thread.Sleep(1500); //等待用户插卡 MachCardBLL.waitCard(); } catch (ThreadAbortException ae) { log.Write("error:" + ae.Message); } catch (Exception ex) { log.Write("error:插卡页readCard():" + ex.Message); } while (true) { try { Thread.Sleep(700); //卡机内是否有卡 if (!MachCardBLL.CardUsable()) { continue; } PrintInfo("正在读卡,请稍后..."); Thread.Sleep(1500); } catch (ThreadAbortException ae) { log.Write("error:" + ae.Message); } catch (Exception ex) { log.Write("error:插卡页readCard():" + ex.Message); } try { //签到 PayAccess.ReadSign(); string wtNo = wt.GetCardNo(); if (wtNo != null) { if (wtNo.Length == 16) { if (SysBLL.payCostType == 3) { //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); PrintInfo("暂不支持此卡,请取卡"); return; } else { SysBLL.payCardType = 1; SysBLL.payCardNo = wtNo; if (!pwdBLL.SetCryptMode(1)) { throw new Exception("系统异常,请稍后再试..."); //万通卡加密方式 } pwdBLL.closeKey(); //pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", wtNo); if (!setPayParam(wtNo, null, wtNo)) { //PrintInfo("业务异常,请稍后再试..."); //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); return; } ; SysBLL.payTypeName = "甘肃一卡通"; WintopStatusInfo statusInfo = new WintopAccess().queryCardStatus(wtNo); if ((statusInfo.msgrsp.WTSTATE == null) || (statusInfo.msgrsp.WTSTATE.Equals(""))) { PrintInfo("业务正忙,请稍后再试"); //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); return; } if ("01".Equals(statusInfo.msgrsp.WTSTATE)) { //执行下一步操作 this.Dispatcher.Invoke(new Action(() => { Util.JumpUtil.jumpCommonPage("FormInputPassword"); })); return; } else { PrintInfo("该卡已挂失,无法正常使用"); //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); return; } } } } dictionary = null; //银行卡 dictionary = BankBLL.ReadBankCard(); SysBLL.IcBankDictionary = dictionary; //if (SysBLL.payCostType == 3) //{ SysBLL.payCardType = 0; SysBLL.payCardNo = dictionary["cardNo"]; if (!pwdBLL.SetCryptMode(0)) { throw new Exception("系统异常,请稍后再试..."); //拉卡拉加密方式 } pwdBLL.closeKey(); //pwdBLL.OpenKeyboard(SysConfigHelper.readerNode("ZT598Port"), "9600", dictionary["cardNo"]); //if (!setPayParam("", dictionary, dictionary["cardNo"])) throw new Exception("查询失败"); if (!setPayParam("", dictionary, dictionary["cardNo"])) { return; } ; SysBLL.payTypeName = "银行卡"; this.Dispatcher.Invoke(new Action(() => { Util.JumpUtil.jumpCommonPage("FormInputPassword"); })); return; //} //else //{ // //退卡 // MachCardBLL.backCard(); // //等待用户插卡 // MachCardBLL.waitCard(); // PrintInfo("暂不支持此卡,请取卡"); //} } catch (ThreadAbortException ae) { log.Write("error:读卡失败:" + ae.Message); return; }catch (WtException we) { log.Write("error:读卡异常"); PrintInfo("读取失败"); //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); } catch (Exception ex) { log.Write("error:读卡异常:" + ex.Message); PrintInfo("读取失败"); //退卡 MachCardBLL.backCard(); //等待用户插卡 MachCardBLL.waitCard(); } finally { //btnOkBg.Enabled = true; } } }