| | |
| | | import android.os.Bundle; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | import android.view.KeyEvent; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | |
| | | import com.dayu.baselibrary.tools.HexUtil; |
| | | import com.dayu.baselibrary.utils.AidlUtil; |
| | | import com.dayu.baselibrary.utils.BaseCommon; |
| | | import com.dayu.baselibrary.utils.DateUtil; |
| | | import com.dayu.baselibrary.utils.MornyUtil; |
| | | import com.dayu.baselibrary.utils.TipUtil; |
| | | import com.dayu.baselibrary.view.ConfirmDialog; |
| | | import com.dayu.baselibrary.view.TitleBar; |
| | | import com.dayu.qihealonelibrary.QHAloneApplication; |
| | | import com.dayu.qihealonelibrary.card.CleanCard; |
| | | import com.dayu.qihealonelibrary.card.CleanUserCard; |
| | |
| | | UserCard olduserCard; |
| | | |
| | | String morny; |
| | | String rechageWater;//充值的水量 |
| | | String userName; |
| | | AdminDataBean adminData; |
| | | RechargeBean rechargeBean; |
| | |
| | | |
| | | //当前卡的物理卡号 |
| | | String cardNumber; |
| | | ConfirmDialog confirmDialog; |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | |
| | | setContentView(binding.getRoot()); |
| | | nfcWreatActivity = this; |
| | | getData(); |
| | | titleBack(); |
| | | baseApp = QHAloneApplication.getInstance(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | |
| | | } |
| | | if (this.getIntent().hasExtra("electricPriceCard")) { |
| | | electricPriceCard = (ElectricPriceCard) this.getIntent().getSerializableExtra("electricPriceCard"); |
| | | binding.cardData.setText("制作用户电量单价卡\n当前单价:" + electricPriceCard.getElectricPrice().toString() + "元"); |
| | | binding.cardData.setText("制作用户电量单价卡\n当前单价:" + electricPriceCard.getElectricPrice().toString() + " 元"); |
| | | } |
| | | if (this.getIntent().hasExtra("passWordCard")) { |
| | | passWordCard = (PassWordCard) this.getIntent().getSerializableExtra("passWordCard"); |
| | |
| | | binding.cardData.setText("制作清零卡"); |
| | | } |
| | | if (this.getIntent().hasExtra("manageCard")) { |
| | | cardNumber = this.getIntent().getStringExtra("cardNumber"); |
| | | manageCard = (ManageCard) this.getIntent().getSerializableExtra("manageCard"); |
| | | if (this.getIntent().hasExtra("userCardBean_manager")) { |
| | | userCardBeanByManager = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean_manager"); |
| | | } |
| | | binding.cardData.setText("制作管理卡(请将管理卡贴在设备上)\n用户卡号:" + manageCard.getUserCard()); |
| | | //显示的时候要反过来 |
| | | String hex = HexUtil.spaceHex(manageCard.getUserCard()); |
| | | hex = HexUtil.HighLowHex(hex); |
| | | binding.cardData.setText("制作管理卡(请将管理卡贴在设备上)\n用户卡号:" + hex); |
| | | } |
| | | if (this.getIntent().hasExtra("registeredCard")) { |
| | | registeredCard = (RegisteredCard) this.getIntent().getSerializableExtra("registeredCard"); |
| | |
| | | userName = this.getIntent().getStringExtra("userName"); |
| | | cardNumber = this.getIntent().getStringExtra("cardNumber"); |
| | | userCardBean = (UserCardBean) this.getIntent().getSerializableExtra("userCardBean"); |
| | | binding.cardData.setText("充值金额:" + morny + "元"); |
| | | // rechageWater = this.getIntent().getStringExtra("rechageWater"); |
| | | binding.cardData.setText("充值金额:" + morny + " 元"); |
| | | } |
| | | |
| | | try { |
| | |
| | | String[] cardTypes = cardType.split(","); |
| | | if (cardTypes != null && cardTypes.length == 2) { |
| | | cardNumber = cardType.split(",")[0]; |
| | | cardNumber = HexUtil.spaceHex(cardNumber); |
| | | cardNumber = HexUtil.HighLowHex(cardNumber); |
| | | cardType = cardType.split(",")[1]; |
| | | } |
| | | Log.i("NFCWreatActivity", "cardType=" + cardType); |
| | |
| | | } |
| | | if (manageCard != null) { |
| | | setmanageCard(intent, manageCard); |
| | | if (manageCardFlag && userCardBeanByManager != null) { |
| | | //修改用户表信息 |
| | | userCardBeanByManager.setCardNumber(manageCard.getUserCard()); |
| | | baseDao.userCardDao().update(userCardBeanByManager); |
| | | } |
| | | // if (manageCardFlag && userCardBeanByManager != null) { |
| | | // //修改用户表信息修改成新卡卡号 |
| | | // userCardBeanByManager.setCardNumber(cardNumber); |
| | | // baseDao.userCardDao().update(userCardBeanByManager); |
| | | // } |
| | | } |
| | | if (registeredCard != null) { |
| | | setRegisteredCard(intent, registeredCard); |
| | |
| | | StringBuffer data = new StringBuffer(); |
| | | if (rechargeBean != null) { |
| | | data.append("*****************************" + "\n"); |
| | | data.append(getResources().getString(com.dayu.baselibrary.R.string.login_title) + "\n"); |
| | | data.append("设备序列号:" + rechargeBean.getSerial() + "\n"); |
| | | data.append("用户名:" + rechargeBean.getUserName() + "\n"); |
| | | data.append("卡 号:" + rechargeBean.getCardNumber() + "\n"); |
| | | data.append("充值金额:" + rechargeBean.getMorny() + "元" + "\n"); |
| | | data.append("卡内余额:" + rechargeBean.getBalance() + "元" + "\n"); |
| | | data.append("充值金额:" + rechargeBean.getMorny() + " 元" + "\n"); |
| | | data.append("卡内余额:" + rechargeBean.getBalance() + " 元" + "\n"); |
| | | data.append("日 期:" + DateUtil.dateToStamp(rechargeBean.getDate(), DateUtil.type2) + "\n\n"); |
| | | data.append("*****************************"); |
| | | } |
| | |
| | | |
| | | //往卡内写充值后的数据 |
| | | private void rechargeWreatCard() { |
| | | String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber(); |
| | | //判断是否充值的是一个卡 |
| | | if (cardNumberThis.equalsIgnoreCase(cardNumber)) { |
| | | int balance = userCard.getBalance() + MornyUtil.changeY2F(morny); |
| | | userCard.setBalance(balance); |
| | | int rechageTims = userCard.getRechargeTimes() + 1; |
| | | if (rechageTims == 256) { |
| | | rechageTims = 0; |
| | | } |
| | | userCard.setRechargeTimes((short) rechageTims); |
| | | userCard.setRechargeDate(Calendar.getInstance()); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, this); |
| | | if (userFlag) { |
| | | rechargeBean = new RechargeBean(); |
| | | rechargeBean.setUserName(userName); |
| | | rechargeBean.setSerial(userCardBean.getSerial()); |
| | | rechargeBean.setUserId(userCardBean.getUserID()); |
| | | rechargeBean.setDate(System.currentTimeMillis()); |
| | | rechargeBean.setMorny(morny); |
| | | rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); |
| | | rechargeBean.setCardNumber(cardNumber); |
| | | try { |
| | | baseDao.rechargeDao().insert(rechargeBean); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | try { |
| | | String cardNumberThis = NfcReadHelper.getInstence(intent, this).getCardNumber(); |
| | | cardNumberThis = HexUtil.spaceHex(cardNumberThis); |
| | | cardNumberThis = HexUtil.HighLowHex(cardNumberThis); |
| | | //判断是否充值的是一个卡 |
| | | if (cardNumberThis.equalsIgnoreCase(cardNumber)) { |
| | | //余额 |
| | | int balance = userCard.getBalance() + MornyUtil.changeY2F(morny); |
| | | userCard.setBalance(balance); |
| | | //剩余水量 |
| | | // int surplusWater = userCard.getSurplusWater() + MornyUtil.changeY2F(rechageWater); |
| | | // userCard.setSurplusWater(surplusWater); |
| | | |
| | | int rechageTims = userCard.getRechargeTimes() + 1; |
| | | if (rechageTims == 256) { |
| | | rechageTims = 0; |
| | | } |
| | | // 打印相关 |
| | | setPrinterData(rechargeBean); |
| | | startDetailActivity(userName, "终端写卡"); |
| | | userCard.setRechargeTimes((short) rechageTims); |
| | | userCard.setRechargeDate(Calendar.getInstance()); |
| | | userFlag = WriteCardUtils.setUser(intent, userCard, this); |
| | | if (userFlag) { |
| | | rechargeBean = new RechargeBean(); |
| | | rechargeBean.setUserName(userName); |
| | | rechargeBean.setSerial(userCardBean.getSerial()); |
| | | rechargeBean.setUserId(userCardBean.getUserID()); |
| | | rechargeBean.setDate(System.currentTimeMillis()); |
| | | rechargeBean.setMorny(morny); |
| | | rechargeBean.setBalance(MornyUtil.changeF2Y(balance)); |
| | | rechargeBean.setCardNumber(cardNumber); |
| | | rechargeBean.setSurplusWater(MornyUtil.changeF2Y(0)); |
| | | rechargeBean.setRechargeWater(rechageWater); |
| | | try { |
| | | baseDao.rechargeDao().insert(rechargeBean); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | // 打印相关 |
| | | setPrinterData(rechargeBean); |
| | | startDetailActivity(userName, "终端写卡"); |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试"); |
| | | } |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "写卡失败,请重新再试"); |
| | | TipUtil.show(NFCWreatActivity.this, "读取的卡和充值的卡不一致"); |
| | | } |
| | | } else { |
| | | TipUtil.show(NFCWreatActivity.this, "读取的卡和充值的卡不一致"); |
| | | } catch (Exception e) { |
| | | TipUtil.show(NFCWreatActivity.this, "读取错误,请重试"); |
| | | } |
| | | } |
| | | |
| | |
| | | detail.putExtra("userCard", userCard); |
| | | if (!TextUtils.isEmpty(morny)) { |
| | | detail.putExtra("morny", morny); |
| | | detail.putExtra("rechageWater", rechageWater); |
| | | } |
| | | if (!TextUtils.isEmpty(cardNumber)) { |
| | | detail.putExtra("cardNumber", cardNumber); |
| | | } |
| | | |
| | | startActivity(detail); |
| | | if (NewCardActivity.newCardActivity != null) { |
| | | NewCardActivity.newCardActivity.finish(); |
| | |
| | | super.onDestroy(); |
| | | nfcWreatActivity = null; |
| | | } |
| | | |
| | | /** |
| | | * 点击返回时提示用户还未写卡 |
| | | * |
| | | * @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(NFCWreatActivity.this, v -> { |
| | | confirmDialog.dismiss(); |
| | | if (NewCardActivity.newCardActivity != null) { |
| | | NewCardActivity.newCardActivity.finish(); |
| | | } |
| | | if (RechargeActivity.rechargeActivity != null) { |
| | | RechargeActivity.rechargeActivity.finish(); |
| | | } |
| | | NFCWreatActivity.nfcWreatActivity.finish(); |
| | | }); |
| | | confirmDialog.show(); |
| | | } |
| | | |
| | | private void titleBack() { |
| | | titleBar.setOnItemclickListner(TitleBar.ClickType_LEFT_IMAGE, new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | back(); |
| | | } |
| | | }); |
| | | } |
| | | } |