| | |
| | | import com.dayu.baselibrary.utils.MornyUtil; |
| | | import com.dayu.baselibrary.utils.TipUtil; |
| | | import com.dayu.baselibrary.view.ConfirmDialog; |
| | | import com.dayu.qiheonlinelibrary.bean.CardInfoResult; |
| | | import com.dayu.qiheonlinelibrary.card.BlackCard; |
| | | import com.dayu.qiheonlinelibrary.card.ConfigurationPowerCard; |
| | | import com.dayu.qiheonlinelibrary.card.DomainCard; |
| | |
| | | import com.dayu.qiheonlinelibrary.databinding.ActivityRedCardQhlBinding; |
| | | import com.dayu.qiheonlinelibrary.dbBean.AdminDataBean; |
| | | import com.dayu.qiheonlinelibrary.dbBean.UserCardBean; |
| | | import com.dayu.qiheonlinelibrary.net.ApiManager; |
| | | import com.dayu.qiheonlinelibrary.net.BaseResponse; |
| | | import com.dayu.qiheonlinelibrary.net.subscribers.SubscriberListener; |
| | | import com.dayu.qiheonlinelibrary.tools.NFCWriteHelper; |
| | | import com.dayu.qiheonlinelibrary.tools.NfcReadHelper; |
| | | import com.dayu.qiheonlinelibrary.utils.CardCommon; |
| | |
| | | |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * Copyright (C), 2023, |
| | |
| | | AdminDataBean adminData; |
| | | String cardNumber; |
| | | String userCardStr; |
| | | |
| | | @Override |
| | | protected void onCreate(Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | | redCardBinding = ActivityRedCardQhlBinding.inflate(LayoutInflater.from(this)); |
| | | setContentView(redCardBinding.getRoot()); |
| | | } |
| | | |
| | | |
| | | private void setUserData(String userName, String statu, String cardNumber) { |
| | | viweGone(true); |
| | | redCardBinding.redName.setText("用户姓名:" + userName); |
| | | redCardBinding.redStatu.setText("卡状态:" + statu); |
| | | if (userCard != null) { |
| | | Calendar calendar = userCard.getRechargeDate(); |
| | | if (calendar != null) { |
| | | int year = calendar.get(Calendar.YEAR); |
| | | int month = calendar.get(Calendar.MONTH); // 月份从0开始,所以需要加1 |
| | | int day = calendar.get(Calendar.DAY_OF_MONTH); |
| | | redCardBinding.redRechargeDate.setText("本卡最后购水日期:" + year + "年" + month + "月" + day + "日"); |
| | | } else { |
| | | redCardBinding.redRechargeDate.setText("本卡最后购水日期:无"); |
| | | } |
| | | redCardBinding.redInitCode.setText(cardNumber); |
| | | redCardBinding.redRechargeNumber.setText("本卡充值次数:" + userCard.getRechargeTimes() + " 次"); |
| | | // redCardBinding.redTotalWater.setText("总用水量:" + MornyUtil.changeF2Y(userCard.getTotalWater()) + " 吨"); |
| | | // redCardBinding.redTotalPower.setText("总用电量:" + MornyUtil.changeF2Y(userCard.getTotalElectric()) + " 度"); |
| | | redCardBinding.redRemainderBlance.setText("剩余金额:" + MornyUtil.changeF2Y(userCard.getBalance()) + " 元"); |
| | | // redCardBinding.redRemainderWater.setText("剩余水量:" + MornyUtil.changeF2Y(userCard.getSurplusWater()) + " 吨"); |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | 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]; |
| | | } |
| | | List<byte[]> data = NfcReadHelper.getInstence(intent, this).getOnesectorData(); |
| | |
| | | if (!data.isEmpty()) { |
| | | if (!TextUtils.isEmpty(cardNumber)) { |
| | | userCard = UserCard.getBean(data); |
| | | List<UserCardBean> userCardBeans = baseDao.userCardDao().findUserName(cardNumber); |
| | | if (userCardBeans != null && !userCardBeans.isEmpty()) { |
| | | UserCardBean userName = userCardBeans.get(0); |
| | | setUserData(userName.getUserName(), state, cardNumber); |
| | | } else { |
| | | setUserData("未查询到用户名", state, cardNumber); |
| | | } |
| | | getUserInfoAndCardInfo(cardNumber); |
| | | } else { |
| | | |
| | | } |
| | |
| | | case CardCommon.MANAGE_CRAD://管理卡 |
| | | ManageCard manageCard = ManageCard.getBean(data); |
| | | viweGone(false); |
| | | userCardStr = manageCard.getUserCard().toUpperCase(); |
| | | userCardStr = HexUtil.spaceHex(userCardStr); |
| | | userCardStr = HexUtil.HighLowHex(userCardStr); |
| | | userCardStr = manageCard.getUserCard().toUpperCase(); |
| | | redCardBinding.readCardTypeTV.setText("当前为管理卡" + "\n\n" |
| | | + "原始卡号:" + userCardStr); |
| | | if (manageCard.getType()==(byte) 1){ |
| | | if (manageCard.getType() == (byte) 1) { |
| | | //当01时将1扇区0块原管理卡信息改成用户卡内容 |
| | | confirmDialog=new ConfirmDialog(this, "是否确认补卡,该卡将成为新用户卡?并且不要移动卡片", new View.OnClickListener() { |
| | | confirmDialog = new ConfirmDialog(this, "是否确认补卡,该卡将成为新用户卡?并且不要移动卡片", new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | ProgressDialog.show(ReadCardAcitivy.this); |
| | |
| | | baseDao.userCardDao().update(userName); |
| | | } |
| | | |
| | | NFCWriteHelper nfcWriteHelper= NFCWriteHelper.getInstence(intent,ReadCardAcitivy.this); |
| | | NFCWriteHelper nfcWriteHelper = NFCWriteHelper.getInstence(intent, ReadCardAcitivy.this); |
| | | adminData = baseDao.adminDao().findFirst(); |
| | | ManagerToUserCard managerToUserCard=new ManagerToUserCard(); |
| | | 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)){ |
| | | if (nfcWriteHelper.writeData(managerToUserCard.getZeroBytes(), 1, 0)) { |
| | | TipUtil.show(ReadCardAcitivy.this, "补卡成功", () -> ReadCardAcitivy.this.finish()); |
| | | }else { |
| | | } else { |
| | | TipUtil.show(ReadCardAcitivy.this, "补卡失败,请重新刷卡", () -> ReadCardAcitivy.this.finish()); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | e.printStackTrace(); |
| | | } |
| | | stopAnim(); |
| | | } |
| | |
| | | if (!data.isEmpty()) { |
| | | RegionCard regionCard = RegionCard.getBean(data); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | stringBuilder.append("区域地址:").append(regionCard.getRegion()).append("\n"); |
| | | stringBuilder.append("控制器编号:").append(regionCard.getControllerCodel()).append("\n"); |
| | | stringBuilder.append("区域号:").append(regionCard.getArerNumber()); |
| | | redCardBinding.readCardDataTV.setText(stringBuilder.toString()); |
| | | } else { |
| | | TipUtil.show("卡片识别错误,请重试!"); |
| | |
| | | // or avi.smoothToHide(); |
| | | } |
| | | |
| | | /** |
| | | * 获取卡信息和用户信息 |
| | | * |
| | | * @param iccardCode |
| | | */ |
| | | public void getUserInfoAndCardInfo(String iccardCode) { |
| | | Map<String, Object> data = new HashMap<>(); |
| | | //ic卡信息id |
| | | data.put("iccardNum", iccardCode); |
| | | ApiManager.getInstance().requestPostLoading(this, "api/sjgg/iccard/peasant/getIccardInfoVoByCardCode", CardInfoResult.class, data, new SubscriberListener<BaseResponse<CardInfoResult>>() { |
| | | @Override |
| | | public void onNext(BaseResponse<CardInfoResult> t) { |
| | | String state = ""; |
| | | if (t.isSuccess()) { |
| | | setUserData(t.getData()); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | private void setUserData(CardInfoResult cardInfoResult) { |
| | | viweGone(true); |
| | | if (cardInfoResult != null) { |
| | | redCardBinding.redName.setText(cardInfoResult.getPeasantName()); |
| | | redCardBinding.redCardCode.setText(cardNumber); |
| | | redCardBinding.redUserCode.setText(cardInfoResult.getIccardCode()); |
| | | redCardBinding.redBlance.setText(MornyUtil.changeF2Y(userCard.getBalance())+"元"); |
| | | redCardBinding.redElectric.setText(MornyUtil.changeF2Y(userCard.getSurplusElecticity())+"度"); |
| | | redCardBinding.redTotalMorny.setText(MornyUtil.changeF2Y(userCard.getTotalMorny())+"元"); |
| | | redCardBinding.redPhone.setText(cardInfoResult.getPeasantPhone()); |
| | | redCardBinding.redCodeId.setText(cardInfoResult.getPeasantIdNumber()); |
| | | if (cardInfoResult.getIccardStatus() == 0) { |
| | | redCardBinding.redStatu.setText("正常"); |
| | | } else if (cardInfoResult.getIccardStatus() == 1) { |
| | | redCardBinding.redStatu.setText("已注销"); |
| | | } else { |
| | | redCardBinding.redStatu.setText("已挂失"); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |