左晓为主开发手持机充值管理机
zuoxiao
2024-08-13 3673328730251736f9614793d9a75630c17b28f6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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();
    }
}