From ffba2c405154eb6de9be00d9b5632e8a33ffc366 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 30 十月 2025 18:09:26 +0800
Subject: [PATCH] 改bug
---
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java | 596 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 594 insertions(+), 2 deletions(-)
diff --git a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
index 625a02f..a38a64b 100644
--- a/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
+++ b/keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetActivity.java
@@ -1,14 +1,51 @@
package com.doumee.keyCabinet.ui.keyCabinet;
import androidx.annotation.Nullable;
-import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.Observer;
+import android.os.Build;
import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.TextUtils;
+import android.text.style.TextAppearanceSpan;
+import android.view.KeyEvent;
+import android.view.View;
+import android.widget.TextView;
+import android.widget.Toast;
import com.doumee.keyCabinet.R;
import com.doumee.keyCabinet.base.MyBaseActivity;
+import com.doumee.keyCabinet.bean.ManageKeyCabinetBean;
+import com.doumee.keyCabinet.dao.CabinetGridDo;
+import com.doumee.keyCabinet.dao.DaoManager;
import com.doumee.keyCabinet.databinding.ManageCabinetActivityBinding;
+import com.doumee.keyCabinet.event.CheckGridStatusEvent;
+import com.doumee.keyCabinet.event.CloseGridOneResultEvent;
+import com.doumee.keyCabinet.event.GetKeyStatusEvent;
+import com.doumee.keyCabinet.event.HttpEvent;
+import com.doumee.keyCabinet.event.KeyResultEvent;
+import com.doumee.keyCabinet.event.ManageOpenGridResultEvent;
+import com.doumee.keyCabinet.event.OpenAllGridEvent;
+import com.doumee.keyCabinet.event.OpenGridEvent;
+import com.doumee.keyCabinet.event.OpenGridListEvent;
+import com.doumee.keyCabinet.event.OpenGridOneResultEvent;
+import com.doumee.keyCabinet.event.TimeClockEvent;
import com.doumee.keyCabinet.ui.keyCabinet.adapter.ManageCabinetRcvAdapter;
+import com.doumee.keyCabinet.utils.i485.SportUtils;
+import com.doumee.lib_coremodel.bean.event.ActionEventData;
+import com.doumee.lib_coremodel.util.RecyclerHelp;
+import com.doumee.lib_coremodel.util.StringUtil;
+import com.example.datalibrary.db.DBManager;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
import dagger.hilt.android.AndroidEntryPoint;
@@ -16,21 +53,576 @@
public class ManageCabinetActivity extends MyBaseActivity<ManageCabinetVM, ManageCabinetActivityBinding> {
private ManageCabinetRcvAdapter adapter;
+ //鏄惁鍙壒閲忔搷浣�
+ private boolean isCanPL = false;
+ //鍙爣璁帮細鍏ㄥ�熷嚭銆佸叏鏁呴殰
+ private boolean isCanBJ = false;
+ private int keyStatus = -1;
+
@Override
public int getLayoutId() {
return R.layout.manage_cabinet_activity;
}
+
+ private HashMap<String,String> waitOpenMap = new HashMap<>();
@Override
public void initView(@Nullable Bundle savedInstanceState) {
isAddCountTimer = false;
normalConfig();
getDB().setModel(getVM());
-
+ adapter = new ManageCabinetRcvAdapter(this, R.layout.manage_cabinet_rcv_item, new ManageCabinetRcvAdapter.OnItemClick() {
+ @Override
+ public void onItemClick(ManageKeyCabinetBean item) {
+ updateBtnStatus();
+ }
+ });
+ RecyclerHelp.bindVG(this,getDB().rcvKm,3,30);
+ getDB().rcvKm.setAdapter(adapter);
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
+ getVM().getDatasLD().observe(this, new Observer<List<ManageKeyCabinetBean>>() {
+ @Override
+ public void onChanged(List<ManageKeyCabinetBean> gridInfoBeans) {
+ if(getDB().clCz.getVisibility()==View.VISIBLE){
+ getDB().clCz.setVisibility(View.GONE);
+ }
+ if(gridInfoBeans.size()>0){
+ adapter.refreshData(gridInfoBeans);
+ getVM().emptyVisibility.set(View.GONE);
+ //鏇存柊淇℃伅
+ updateDao(gridInfoBeans);
+ }else {
+ getVM().emptyVisibility.set(View.VISIBLE);
+ }
+ }
+ });
+ getVM().getCabinetDetail();
+ }
+ private void updateBtnStatus(){
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ isCanPL = false;
+ isCanBJ = false;
+ keyStatus = -1;
+ for(ManageKeyCabinetBean d:datas){
+ if(d.getIsSelected().get()){
+ isCanPL = true;
+ isCanBJ = true;
+ if(keyStatus==-1){
+ keyStatus = getGridStatus(d);
+ }else {
+ if(keyStatus!=getGridStatus(d)){
+ //涓嶅悓
+ keyStatus = -2;
+ }
+ }
+ }
+ }
+ if(isCanPL){
+ getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ }else {
+ getDB().tvPlOpen.setBackgroundResource(R.drawable.shape_mb_bt_faile);
+ }
+ if(isCanBJ){
+ getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ }else {
+ getDB().tvBj.setBackgroundResource(R.drawable.shape_mb_bt_faile);
+ }
+ }
+
+ private int getGridStatus(ManageKeyCabinetBean grid){
+ if(grid.getWorkingStatus()==1){
+ return 4;
+ }else {
+ return grid.getKeyStatus();
+ }
+ }
+
+ private void updateDao(List<ManageKeyCabinetBean> beans){
+ List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll();
+ HashMap<String,CabinetGridDo> oldMap = new HashMap<>();
+ for(CabinetGridDo d:gridDos){
+ oldMap.put(d.getGridKey(),d);
+ }
+ List<CabinetGridDo> updateList = new ArrayList<>();
+ for(ManageKeyCabinetBean bean:beans){
+ String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode()))+SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
+ if(oldMap.containsKey(key)){
+ //淇敼
+ CabinetGridDo gridDo = oldMap.get(key);
+ gridDo.setGridId(bean.getId());
+ gridDo.setCabinetName(bean.getCode());
+ gridDo.setKeyCode(bean.getKeyCode());
+ gridDo.setUpdateTime(StringUtil.DateToStr(new Date()));
+ gridDo.setBindStatus(bean.getBindStatus());
+ gridDo.setGridStatus(bean.getStatus());
+ gridDo.setKeyStatus(bean.getKeyStatus());
+ gridDo.setWorkingStatus(bean.getWorkingStatus());
+ updateList.add(gridDo);
+ }
+ }
+ if(updateList.size()>0){
+ CabinetGridDo[] upList = new CabinetGridDo[updateList.size()];
+ for(int i=0;i<updateList.size();i++){
+ upList[i] = updateList.get(i);
+ }
+ //todo 鍘绘帀
+ CabinetGridDo gridDo = oldMap.get("0101");
+ if(gridDo!=null){
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"=================>鏇存柊鏁版嵁褰撳墠閽ュ寵2锛�"+gridDo.getCurKeyCode()));
+ }
+
+ DaoManager.getCabinetGridDao().update(upList);
+ }
+ }
+
+ private List<Integer> bjIds = new ArrayList<>();
+ private boolean isAllOpen = false;
+ @Override
+ protected void doRegister(int type, ActionEventData data) {
+ switch (type){
+ case 1:
+ //鏍¢獙鏌滃瓙鏄惁閮藉凡鍏抽棴
+ if(checkOpen()){
+ return;
+ }
+ finish();
+ break;
+ case 2:
+ {
+ //鍏ㄥ紑
+ //鎵归噺寮�闂紝鏍¢獙鏄惁鍙墦寮�
+ List<Integer> ids = new ArrayList<>();
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ for (ManageKeyCabinetBean bean : datas) {
+ ids.add(bean.getId());
+ }
+ if (ids.size() == 0) {
+ Toast.makeText(mContext, "璇烽�夋嫨鏌滄牸", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ getVM().batchOpenGridAdmin(ids,true);
+ }
+ break;
+ case 3: {
+ if(!isCanPL){
+ return;
+ }
+ //鎵归噺寮�闂紝鏍¢獙鏄惁鍙墦寮�
+ List<Integer> ids = new ArrayList<>();
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ for (ManageKeyCabinetBean bean : datas) {
+ if (bean.getIsSelected().get()) {
+ ids.add(bean.getId());
+ }
+ }
+ if (ids.size() == 0) {
+ Toast.makeText(mContext, "璇烽�夋嫨鏌滄牸", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ getVM().batchOpenGridAdmin(ids,false);
+ }break;
+ case 8: {
+ //鍏ㄥ紑
+ isAllOpen = true;
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ for (ManageKeyCabinetBean bean : datas) {
+ String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode()))+
+ SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
+ waitOpenMap.put(key,bean.getCode());
+ }
+ waitResultCount = 2;
+ EventBus.getDefault().post(new OpenAllGridEvent());
+ }break;
+ case 10: {
+ //鎵归噺寮�
+ isAllOpen = false;
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ List<String> keys = new ArrayList<>();
+ for (ManageKeyCabinetBean bean : datas) {
+ if(bean.getIsSelected().get()) {
+ String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode())) +
+ SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
+ waitOpenMap.put(key, bean.getCode());
+ keys.add(key);
+ }
+ }
+ waitResultCount = keys.size();
+ EventBus.getDefault().post(new OpenGridListEvent(keys));
+ }break;
+ case 4: {
+ //鏍囪
+ if(!isCanBJ){
+ return;
+ }
+ bjIds.clear();
+
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ for (ManageKeyCabinetBean bean : datas) {
+ if (bean.getIsSelected().get()) {
+ bjIds.add(bean.getId());
+ }
+ }
+ if (bjIds.size() == 0) {
+ Toast.makeText(mContext, "璇烽�夋嫨鏌滄牸", Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if(keyStatus==4){
+ //鍏ㄤ负鏁呴殰
+ getDB().tvBjgz.setText("鏍囪涓烘甯�");
+ getDB().tvBjgz.setTextColor(0xff279BAA);
+ getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_2_bg);
+ getDB().tvBy.setVisibility(View.GONE);
+ }else {
+ //鏍囪鏁呴殰
+ getDB().tvBjgz.setText("鏍囪涓烘晠闅�");
+ getDB().tvBjgz.setTextColor(0xffFF3600);
+ getDB().tvBjgz.setBackgroundResource(R.drawable.shape_mb_cz_1_bg);
+ if(keyStatus==2) {
+ //0鏈粦瀹� 1鍦ㄤ綅 2鍊熷嚭 3缁翠慨淇濆吇
+ getDB().tvBy.setVisibility(View.VISIBLE);
+ }else {
+ getDB().tvBy.setVisibility(View.GONE);
+ }
+ }
+ getDB().clCz.setVisibility(View.VISIBLE);
+ }break;
+ case 5:
+ getDB().clCz.setVisibility(View.GONE);
+ break;
+ case 6:
+ //缁翠慨
+ getVM().markRepair(bjIds);
+ break;
+ case 7:
+ if(keyStatus==4) {
+ //姝e父
+ getVM().cancelFault(bjIds);
+ }else {
+ //鏁呴殰
+ getVM().markFault(bjIds);
+ }
+ break;
+ case 9: {
+ updateBtnStatus();
+ if(isShowOpenTip==true) {
+ //娓呯┖寮�闂ㄦ彁閱�
+ isShowOpenTip = false;
+ getDB().clKmTip.setVisibility(View.GONE);
+ }else {
+ getDB().clKmTip.setVisibility(View.GONE);
+ }
+ }break;
+ case 11:
+ updateBtnStatus();
+ break;
+ default:
+ break;
+ }
+ }
+
+ //閫�鍑哄叧闂ㄦ彁閱�
+ private int tipDownCount = 10;
+ private boolean isShowTip;
+
+ //寮�闂ㄦ彁閱�
+ private int openTipDownCount = 60;
+ private boolean isShowOpenTip;
+ @Subscribe
+ public void TimeClockEvent(TimeClockEvent e){
+ if(isShowTip){
+ if(tipDownCount==0){
+ isShowTip = false;
+ getDB().clTip.setVisibility(View.GONE);
+ }else {
+ tipDownCount--;
+ getDB().tvDjs.setText(tipDownCount+"s");
+ }
+ }
+ if(isShowOpenTip){
+ if(openTipDownCount==0){
+ doRegister(9,null);
+ }else {
+ openTipDownCount--;
+ getDB().tvClKmClose.setText(openTipDownCount+"s 鑷姩鍏抽棴");
+ }
+ }
+ }
+
+
+ /**
+ * 鏍¢獙鏄惁鏈夋病鍏抽棬鐨�
+ * @return
+ */
+ private boolean checkOpen(){
+ List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().getOpenGrids();
+ if (gridDos.size() > 0) {
+ tipDownCount = 10;
+ isShowTip = true;
+ getDB().tvDjs.setText(tipDownCount + "s");
+ StringBuilder sb = new StringBuilder();
+ for(CabinetGridDo d:gridDos){
+ if (sb.length()>0) {
+ sb.append("銆�");
+ }
+ String name = d.getCabinetName();
+ if (TextUtils.isEmpty(name)) {
+ name = gridDos.get(0).getGridKey();
+ }
+ sb.append(name);
+ }
+ getDB().tvTip22.setText(getTipText(sb.toString()), TextView.BufferType.SPANNABLE);
+ getDB().clTip.setVisibility(View.VISIBLE);
+ return true;
+ }else {
+ isShowTip = false;
+ getDB().clTip.setVisibility(View.GONE);
+ return false;
+ }
+ }
+
+ private SpannableString getTipText(String name){
+ String text = "璇峰叧闂�"+name+"鏌滈棬";
+ SpannableString styledText = new SpannableString(text);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip2), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip1),
+ 3, 3+name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip2), name.length()+3, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return styledText;
+ }
+
+ private SpannableString getTipText2(String begin,String name,String end){
+ String text = begin+name+end;
+ SpannableString styledText = new SpannableString(text);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip2), 0, begin.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this, R.style.style_tip1),
+ begin.length(), begin.length()+name.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ styledText.setSpan(new TextAppearanceSpan(this,R.style.style_tip2), begin.length()+name.length(), text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ return styledText;
+ }
+
+ private void showKeyErrTip(String name){
+ getDB().imgClKm1.setImageResource(R.mipmap.ic_jjfail);
+ getDB().tvClKm1.setText("璇嗗埆澶辫触");
+ getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",name,"璇嗗埆澶辫触"), TextView.BufferType.SPANNABLE);
+ getDB().tvClKmClose.setText("閲嶆柊瀛樻斁");
+ getDB().tvClKmClose.setTextColor(0xffffffff);
+ getDB().tvClKmClose.setBackgroundResource(R.drawable.shape_mb_bt_ok);
+ isShowOpenTip = false;
+ getDB().clKmTip.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public boolean onKeyDown(int keyCode, KeyEvent event) {
+ if(keyCode == KeyEvent.KEYCODE_BACK){
+ if(checkOpen()){
+ return true;
+ }
+ }
+ return super.onKeyDown(keyCode, event);
+ }
+
+ private int waitResultCount = 0;
+ /**
+ * 寮�闂ㄨ繑鍥�
+ * @param e
+ */
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void ManageOpenGridResultEvent(ManageOpenGridResultEvent e){
+ if(!isFinishing()){
+ if(waitResultCount>0){
+ waitResultCount--;
+ }
+ if(waitResultCount>0){
+ return;
+ }
+ EventBus.getDefault().post(new CheckGridStatusEvent());
+ //鏍¢獙鏄惁宸插叏寮�
+ List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll();
+ List<String> msgList = new ArrayList<>();
+ for(String key:waitOpenMap.keySet()){
+ msgList.add(waitOpenMap.get(key));
+ }
+ EventBus.getDefault().post(new HttpEvent("鎬诲叡瑕佹墦寮�鏁�:"+waitOpenMap.size()));
+ for(CabinetGridDo d:gridDos){
+ if(d.getIsOpen()==1) {
+ EventBus.getDefault().post(new HttpEvent("鎵撳紑浜�:"+d.getGridKey()));
+ waitOpenMap.remove(d.getGridKey());
+ }
+ }
+ if(waitOpenMap.size()==0){
+ if(getDB().clKmTip.getVisibility()==View.VISIBLE){
+ //宸插脊鍑哄氨涓嶆彁绀轰簡
+ return;
+ }
+ EventBus.getDefault().post(new HttpEvent("鍏ㄩ儴鎵撳紑浜�:"+waitOpenMap.size()));
+ //鎵撳紑鎴愬姛
+ if(isAllOpen){
+ getDB().tvClKm2.setText("涓�閿叏寮�鎴愬姛锛岄杩樺悗璇峰叧闂�");
+ }else {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ msgList.sort((a,b)->{
+ return a.compareTo(b);
+ });
+ }
+ StringBuilder sb = new StringBuilder();
+ for(String key:msgList){
+ if(sb.length()>0){
+ sb.append("銆�");
+ }
+ sb.append(key);
+ }
+ getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",sb.toString(),"寮�闂ㄦ垚鍔燂紝棰嗚繕鍚庤鍏抽棬"), TextView.BufferType.SPANNABLE);
+ }
+ getDB().imgClKm1.setImageResource(R.mipmap.ic_success);
+ getDB().tvClKm1.setText("鏌滈棬鎵撳紑鎴愬姛");
+ }else {
+ //閮ㄥ垎寮�闂ㄥけ璐�
+ EventBus.getDefault().post(new HttpEvent("閮ㄥ垎鎵撳紑浜�:"+waitOpenMap.size()));
+ msgList.clear();
+ for (String key : waitOpenMap.keySet()) {
+ msgList.add(waitOpenMap.get(key));
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
+ msgList.sort((a, b) -> {
+ return a.compareTo(b);
+ });
+ }
+ StringBuilder sb = new StringBuilder();
+ for (String key : msgList) {
+ if (sb.length() > 0) {
+ sb.append("銆�");
+ }
+ sb.append(key);
+ }
+ getDB().imgClKm1.setImageResource(R.mipmap.ic_jjfail);
+ getDB().tvClKm1.setText("鏌滈棬鎵撳紑澶辫触");
+ getDB().tvClKm2.setText(getTipText2("閽ュ寵鏌�",sb.toString(),"寮�闂ㄥけ璐�"), TextView.BufferType.SPANNABLE);
+ }
+ getDB().tvClKmClose.setText("60s 鑷姩鍏抽棴");
+ getDB().tvClKmClose.setTextColor(0xff279baa);
+ getDB().tvClKmClose.setBackgroundResource(R.drawable.shape_mb_bg01);
+ openTipDownCount = 60;
+ isShowOpenTip = true;
+ getDB().clKmTip.setVisibility(View.VISIBLE);
+
+ if(!isAllOpen) {
+ //娓呴櫎宸查�夋嫨鐨�
+ List<ManageKeyCabinetBean> datas = adapter.getListData();
+ for (ManageKeyCabinetBean bean : datas) {
+ if (bean.getIsSelected().get()) {
+ String key = SportUtils.intToHex(Integer.parseInt(bean.getBoardCode())) +
+ SportUtils.intToHex(Integer.parseInt(bean.getChannelCode()));
+ if (!waitOpenMap.containsKey(key)) {
+ bean.getIsSelected().set(false);
+ }
+ }
+ }
+ }
+ waitOpenMap.clear();
+ }
+ }
+
+ private String sygKey;
+ @Subscribe
+ public void OpenGridOneResultEvent(OpenGridOneResultEvent e){
+ if(!isFinishing()){
+ if(e.getIsOpen()==0){
+ if(e.getKey().equals(sygKey)){
+ return;
+ }
+ sygKey = e.getKey();
+ //寮�闂ㄥけ璐�,閲嶆柊寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ }
+ }
+ }
+
+ /**
+ * 鍏抽棬
+ * @param e
+ */
+ @Subscribe(threadMode= ThreadMode.MAIN)
+ public void CloseGridOneResultEvent(CloseGridOneResultEvent e){
+ if(!isFinishing()){
+ //鑾峰彇鍗″彿
+ EventBus.getDefault().post(new GetKeyStatusEvent());
+ if(isShowTip){
+ isShowTip = false;
+ getDB().clTip.setVisibility(View.GONE);
+ }
+ //鏍¢獙鍗″彿
+ CabinetGridDo gridDo = DaoManager.getCabinetGridDao().getGridByKey(e.getKey());
+ if(gridDo!=null){
+ if(TextUtils.isEmpty(gridDo.getGridKey())){
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ //鏈粦瀹氱殑瀛樻斁浜嗛挜鍖�
+ showKeyErrTip(gridDo.getCabinetName()+"-"+gridDo.getCurKeyCode());
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ return;
+ }
+ }else {
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())){
+ //閽ュ寵涓嶅尮閰�
+ showKeyErrTip(gridDo.getCabinetName()+"-"+gridDo.getCurKeyCode());
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"閽ュ寵涓嶅尮閰�==>鐩爣锛�"+gridDo.getKeyCode()+",褰撳墠锛�"+gridDo.getCurKeyCode()));
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridEvent(Integer.parseInt(e.getKey().substring(2,4), 16)+"",
+ Integer.parseInt(e.getKey().substring(0,2), 16)+""));
+ return;
+ }
+ }
+ }
+ EventBus.getDefault().post(new HttpEvent(StringUtil.DateToStrSS(new Date())+"闂ㄥ叧闂垚鍔�==>鐩爣锛�"+gridDo.getKeyCode()+",褰撳墠锛�"+gridDo.getCurKeyCode()));
+ getVM().closeGrid(gridDo);
+ }
+ }
+ }
+
+ @Subscribe
+ public void KeyResultEvent(KeyResultEvent e){
+ if(!isFinishing()){
+ //鏍¢獙鍗″彿涓嶅鐨勶紝鐩存帴寮瑰嚭
+ List<CabinetGridDo> gridDos = DaoManager.getCabinetGridDao().loadAll();
+ List<String> keys = new ArrayList<>();
+ StringBuilder sb = new StringBuilder();
+ for(CabinetGridDo gridDo:gridDos){
+ if(TextUtils.isEmpty(gridDo.getGridKey())){
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())&&gridDo.getIsOpen()==0){
+ //鏈粦瀹氱殑瀛樻斁浜嗛挜鍖�
+ keys.add(gridDo.getGridKey());
+ if(sb.length()>0){
+ sb.append("銆�");
+ }
+ sb.append(gridDo.getCabinetName());
+ }
+ }else {
+ if(!TextUtils.isEmpty(gridDo.getCurKeyCode())){
+ if(!gridDo.getCurKeyCode().equals(gridDo.getKeyCode())&&gridDo.getIsOpen()==0){
+ //閽ュ寵涓嶅尮閰�
+ keys.add(gridDo.getGridKey());
+ if(sb.length()>0){
+ sb.append("銆�");
+ }
+ sb.append(gridDo.getCabinetName());
+ }
+ }
+ }
+ }
+ if(sb.length()>0){
+ showKeyErrTip(sb.toString());
+ }
+ if(keys.size()>0){
+ //寮�闂�
+ EventBus.getDefault().post(new OpenGridListEvent(keys));
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3