| package com.dayu.qiheonlinelibrary.activity; | 
|   | 
| import android.content.Intent; | 
| import android.nfc.NfcAdapter; | 
| import android.os.Bundle; | 
| import android.view.KeyEvent; | 
| import android.view.LayoutInflater; | 
| import android.view.View; | 
|   | 
| import com.dayu.baselibrary.tools.HexUtil; | 
| import com.dayu.baselibrary.utils.BaseCommon; | 
| import com.dayu.baselibrary.utils.TipUtil; | 
| import com.dayu.baselibrary.view.ConfirmDialog; | 
| import com.dayu.qiheonlinelibrary.QHOnLineApplication; | 
| import com.dayu.qiheonlinelibrary.card.ManageCard; | 
| import com.dayu.qiheonlinelibrary.databinding.ActivityManagerWriteQhlBinding; | 
| import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper; | 
| import com.dayu.qiheonlinelibrary.tools.NfcReadHelper; | 
| import com.dayu.qiheonlinelibrary.view.ProgressDialog; | 
|   | 
|   | 
| /** | 
|  * author: zuo | 
|  * Date: 2024-05-09 | 
|  * Time: 11:05 | 
|  * 备注:制作管理卡 | 
|  */ | 
| public class ManagerWriteActivityQHOline extends QHOlineBaseNfcActivity { | 
|   | 
|     ActivityManagerWriteQhlBinding binding; | 
|     Intent intent; | 
|   | 
|     String oldCardNumber; | 
|     String cardNumber; | 
|     boolean isCreatManagerCard; | 
|     String iccardInfoId; | 
|   | 
|     //当前步骤 | 
|     int number = 1; | 
|   | 
|     int type; | 
|     ConfirmDialog confirmDialog; | 
|   | 
|     @Override | 
|     protected void onCreate(Bundle savedInstanceState) { | 
|         super.onCreate(savedInstanceState); | 
|         binding = ActivityManagerWriteQhlBinding.inflate(LayoutInflater.from(this)); | 
|         setContentView(binding.getRoot()); | 
|         oldCardNumber = this.getIntent().getStringExtra("oldCardNumber"); | 
|         iccardInfoId = this.getIntent().getStringExtra("iccardInfoId"); | 
|         type = this.getIntent().getIntExtra("replaceType", 0); | 
|         binding.managerNext.setOnClickListener(v -> { | 
|             //已完成第二步 | 
|             if (number == 2) { | 
|                 if (type == BaseCommon.REPLACE_NO_CARD) { | 
|                     Intent intent = new Intent(ManagerWriteActivityQHOline.this, NFCWreatActivityQHOline.class); | 
|                     intent.putExtra("iccardInfoId", iccardInfoId); | 
|                     intent.putExtra("replaceType", type); | 
|                     startActivity(intent); | 
|                     ManagerWriteActivityQHOline.this.finish(); | 
|                 } else { | 
|                     TipUtil.show(this, "请在控制器端刷卡后在首页点击补卡再点击泵未关写卡后继续补卡!", () -> { | 
|                         ManagerWriteActivityQHOline.this.finish(); | 
|                         if (UserSearchActivityQHOline.userSearchActivity != null) { | 
|                             UserSearchActivityQHOline.userSearchActivity.finish(); | 
|                             UserSearchActivityQHOline.userSearchActivity = null; | 
|                         } | 
|   | 
|                     }); | 
|                 } | 
|   | 
|             } else { | 
|                 TipUtil.show("请先制作管理卡"); | 
|             } | 
|         }); | 
|     } | 
|   | 
|   | 
|     @Override | 
|     public void onNfcBack(Intent intent) { | 
|         this.intent = intent; | 
|         ProgressDialog.show(this); | 
|         if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { | 
|             getCardNumber(); | 
|         } | 
|     } | 
|   | 
|   | 
|     private void getCardNumber() { | 
|   | 
|         String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); | 
|   | 
|         String[] cardTypes = cardType.split(","); | 
|         if (cardTypes != null && cardTypes.length == 2) { | 
|             cardNumber = cardType.split(",")[0]; | 
|             cardType = cardType.split(",")[1]; | 
|         } | 
|         ManageCard manageCard = new ManageCard(); | 
|         manageCard.setArerNumber(Integer.valueOf(QHOnLineApplication.getInstance().arerNumber)); | 
|         oldCardNumber = HexUtil.spaceHex(oldCardNumber); | 
|         oldCardNumber = HexUtil.HighLowHex(oldCardNumber); | 
|         manageCard.setUserCard(oldCardNumber); | 
|         manageCard.setCardWriteState((byte) 0); | 
|         if (NFCWriteHelper.getInstence(intent, this).writeData(manageCard.toByte(baseDao), 1, 0)) { | 
|             isCreatManagerCard = true; | 
|             number = 2; | 
|             binding.number2.setVisibility(View.VISIBLE); | 
|             TipUtil.show(this, "管理卡制卡成功,请在控制器端刷卡"); | 
|             ProgressDialog.dismiss(); | 
|         } else { | 
|             isCreatManagerCard = false; | 
|         } | 
|   | 
|   | 
|   | 
|     } | 
|   | 
|     /** | 
|      * 点击返回时提示用户还未写卡 | 
|      * | 
|      * @param keyCode | 
|      * @param event | 
|      * @return | 
|      */ | 
|     @Override | 
|     public boolean onKeyDown(int keyCode, KeyEvent event) { | 
|         if (keyCode == KeyEvent.KEYCODE_BACK) { | 
|             back(); | 
|             return true; | 
|         } | 
|         return super.onKeyDown(keyCode, event); | 
|     } | 
|   | 
|     private void back() { | 
|         confirmDialog = new ConfirmDialog(ManagerWriteActivityQHOline.this, "正在补卡,确定退出吗?", v -> { | 
|             confirmDialog.dismiss(); | 
|             ManagerWriteActivityQHOline.this.finish(); | 
|         }); | 
|         confirmDialog.show(); | 
|     } | 
| } |