package com.dayu.qiheonlinelibrary.activity; import android.content.Intent; import android.nfc.NfcAdapter; import android.os.Bundle; import android.text.TextUtils; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; 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.card.ManagerToUserCard; import com.dayu.qiheonlinelibrary.databinding.ActivityManagerReadQhlBinding; import com.dayu.qiheonlinelibrary.databinding.ActivityManagerWriteQhlBinding; import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper; import com.dayu.qiheonlinelibrary.tools.NfcReadHelper; import com.dayu.qiheonlinelibrary.utils.CardCommon; import com.dayu.qiheonlinelibrary.view.ProgressDialog; /** * author: zuo * Date: 2024-05-09 * Time: 11:05 * 备注:制作管理卡 */ public class ManagerWriteActivity extends BaseNfcActivity { 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(ManagerWriteActivity.this, NFCWreatActivity.class); intent.putExtra("iccardInfoId", iccardInfoId); intent.putExtra("replaceType", type); startActivity(intent); ManagerWriteActivity.this.finish(); } else { TipUtil.show(this, "请在控制器端刷卡后在首页点击泵未关写卡后继续补卡!", () -> { ManagerWriteActivity.this.finish(); }); } } else { TipUtil.show("请先制作管理卡"); } }); } @Override public void onNewIntent(Intent intent) { this.intent = intent; ProgressDialog.show(this); if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { getCardNumber(); } super.onNewIntent(intent); } 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)); 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); } else { isCreatManagerCard = false; } TipUtil.show(this, "管理卡制卡成功,请在控制器端刷卡"); ProgressDialog.dismiss(); } /** * 点击返回时提示用户还未写卡 * * @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(ManagerWriteActivity.this, "正在补卡,确定退出吗?", v -> { confirmDialog.dismiss(); ManagerWriteActivity.this.finish(); }); confirmDialog.show(); } }