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.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.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();
|
if (UserSearchActivity.userSearchActivity != null) {
|
UserSearchActivity.userSearchActivity.finish();
|
UserSearchActivity.userSearchActivity = null;
|
}
|
|
});
|
}
|
|
} 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));
|
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(ManagerWriteActivity.this, "正在补卡,确定退出吗?", v -> {
|
confirmDialog.dismiss();
|
ManagerWriteActivity.this.finish();
|
});
|
confirmDialog.show();
|
}
|
}
|