| | |
| | | import com.dayu.baselibrary.tools.HexUtil; |
| | | import com.dayu.baselibrary.utils.MornyUtil; |
| | | import com.dayu.baselibrary.utils.TipUtil; |
| | | import com.dayu.baselibrary.view.ConfirmDialog; |
| | | import com.dayu.qihealonelibrary.card.BlackCard; |
| | | import com.dayu.qihealonelibrary.card.ConfigurationPowerCard; |
| | | import com.dayu.qihealonelibrary.card.DomainCard; |
| | | import com.dayu.qihealonelibrary.card.ElectricPriceCard; |
| | | import com.dayu.qihealonelibrary.card.ManageCard; |
| | | import com.dayu.qihealonelibrary.card.ManagerToUserCard; |
| | | import com.dayu.qihealonelibrary.card.RegionCard; |
| | | import com.dayu.qihealonelibrary.card.UserCard; |
| | | import com.dayu.qihealonelibrary.databinding.ActivityRedCardQhaBinding; |
| | | import com.dayu.qihealonelibrary.dbBean.AdminDataBean; |
| | | import com.dayu.qihealonelibrary.dbBean.UserCardBean; |
| | | import com.dayu.qihealonelibrary.tools.NFCWriteHelper; |
| | | import com.dayu.qihealonelibrary.tools.NfcReadHelper; |
| | | import com.dayu.qihealonelibrary.utils.CardCommon; |
| | | import com.dayu.qihealonelibrary.view.ProgressDialog; |
| | |
| | | * Date: 2023-11-10 19:52 |
| | | * Description: 读卡界面 |
| | | */ |
| | | public class ReadCardAcitivy extends BaseNfcActivity { |
| | | public class ReadCardAcitivy extends QHAloneBaseNfcActivity { |
| | | |
| | | volatile UserCard userCard; |
| | | ActivityRedCardQhaBinding redCardBinding; |
| | | |
| | | |
| | | Intent intent; |
| | | |
| | | ConfirmDialog confirmDialog; |
| | | AdminDataBean adminData; |
| | | String cardNumber; |
| | | String userCardStr; |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public void onNewIntent(Intent intent) { |
| | | public void onNfcBack(Intent intent) { |
| | | this.intent = intent; |
| | | ProgressDialog.show(this); |
| | | if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { |
| | | readAllData(intent); |
| | | } |
| | | super.onNewIntent(intent); |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | |
| | | String cardType = NfcReadHelper.getInstence(intent, this).getCradTypeAndCardNumber(); |
| | | String cardNumber = null; |
| | | |
| | | String[] cardTypes = cardType.split(","); |
| | | if (cardTypes != null && cardTypes.length == 2) { |
| | | cardNumber = cardType.split(",")[0]; |
| | |
| | | |
| | | if (!data.isEmpty()) { |
| | | if (!TextUtils.isEmpty(cardNumber)) { |
| | | userCard = UserCard.getBean(data); |
| | | userCard = new UserCard().getBean(data); |
| | | List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); |
| | | if (userCardBeans != null && !userCardBeans.isEmpty()) { |
| | | UserCardBean userName = userCardBeans.get(0); |
| | |
| | | } |
| | | |
| | | break; |
| | | case CardCommon.MANAGE_CRAD: |
| | | case CardCommon.MANAGE_CRAD://管理卡 |
| | | ManageCard manageCard = ManageCard.getBean(data); |
| | | viweGone(false); |
| | | String hex = manageCard.getUserCard().toUpperCase(); |
| | | hex = HexUtil.spaceHex(hex); |
| | | hex = HexUtil.HighLowHex(hex); |
| | | userCardStr = manageCard.getUserCard().toUpperCase(); |
| | | userCardStr = HexUtil.spaceHex(userCardStr); |
| | | userCardStr = HexUtil.HighLowHex(userCardStr); |
| | | redCardBinding.readCardTypeTV.setText("当前为管理卡" + "\n\n" |
| | | + "原始卡号:" + hex); |
| | | + "原始卡号:" + userCardStr); |
| | | if (manageCard.getType()==(byte) 1){ |
| | | //当01时将1扇区0块原管理卡信息改成用户卡内容 |
| | | confirmDialog=new ConfirmDialog(this, "是否确认补卡,该卡将成为新用户卡?并且不要移动卡片", new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | ProgressDialog.show(ReadCardAcitivy.this); |
| | | try { |
| | | confirmDialog.dismiss(); |
| | | |
| | | List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(userCardStr); |
| | | if (userCardBeans != null && !userCardBeans.isEmpty()) { |
| | | UserCardBean userName = userCardBeans.get(0); |
| | | userName.setCardNumber(cardNumber); |
| | | baseDao.userCardDao().update(userName); |
| | | } |
| | | |
| | | NFCWriteHelper nfcWriteHelper= NFCWriteHelper.getInstence(intent,ReadCardAcitivy.this); |
| | | adminData = baseDao.adminDao().findFirst(); |
| | | ManagerToUserCard managerToUserCard=new ManagerToUserCard(); |
| | | managerToUserCard.setArerNumber(Integer.valueOf(adminData.getSerial())); |
| | | managerToUserCard.setDeviceNumberl(Integer.valueOf(adminData.getAddressCode())); |
| | | managerToUserCard.setTotalElectric(manageCard.getTotalElectric()); |
| | | if (nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(),1,0)){ |
| | | TipUtil.show(ReadCardAcitivy.this, "补卡成功", () -> ReadCardAcitivy.this.finish()); |
| | | }else { |
| | | TipUtil.show(ReadCardAcitivy.this, "补卡失败,请重新刷卡", () -> ReadCardAcitivy.this.finish()); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | stopAnim(); |
| | | } |
| | | }); |
| | | confirmDialog.show(); |
| | | } |
| | | break; |
| | | case CardCommon.CLEAN_CARD_TYPE: |
| | | viweGone(false); |