Quellcode durchsuchen

配合测试完成诸多BUG修复

JaycePC vor 7 Monaten
Ursprung
Commit
959f0480e9
48 geänderte Dateien mit 666 neuen und 233 gelöschten Zeilen
  1. 2 2
      HttpCoreLibrary/src/main/java/com/rc/httpcore/bean/UserValidationBean.kt
  2. 1 1
      RcCore/src/main/java/com/rc/core/ui/activity/RcBaseActivity.kt
  3. 1 0
      app/src/main/java/com/example/chemical/ui/MainActivity.kt
  4. 153 0
      app/src/main/java/com/example/chemical/ui/common/BaseCountDownActivity.java
  5. 135 135
      app/src/main/java/com/example/chemical/ui/common/BaseCountDownActivity.kt
  6. 25 7
      app/src/main/java/com/example/chemical/ui/discard/ChecklistsActivity.kt
  7. 4 0
      app/src/main/java/com/example/chemical/ui/discard/LedgerActivity.kt
  8. 2 0
      app/src/main/java/com/example/chemical/ui/discard/ListReturnedActivity.kt
  9. 22 5
      app/src/main/java/com/example/chemical/ui/discard/WasteChemicalsActivity.kt
  10. 6 0
      app/src/main/java/com/example/chemical/ui/inquiry/InquiryActivity.kt
  11. 4 0
      app/src/main/java/com/example/chemical/ui/inquiry/QueryDetailsActivity.kt
  12. 4 0
      app/src/main/java/com/example/chemical/ui/login/FacialCardActivity.kt
  13. 4 0
      app/src/main/java/com/example/chemical/ui/login/FacialLoginActivity.kt
  14. 6 1
      app/src/main/java/com/example/chemical/ui/login/ScanLoginActivity.kt
  15. 6 0
      app/src/main/java/com/example/chemical/ui/login/SwipeActivity.kt
  16. 4 0
      app/src/main/java/com/example/chemical/ui/newly/AddedChemicalsActivity.kt
  17. 11 1
      app/src/main/java/com/example/chemical/ui/plan/PlanAddActivity.java
  18. 39 14
      app/src/main/java/com/example/chemical/ui/plan/PlanAddActivityHelp.java
  19. 5 1
      app/src/main/java/com/example/chemical/ui/plan/add/AddActivity.java
  20. 26 8
      app/src/main/java/com/example/chemical/ui/plan/add/AddActivityHelp.java
  21. 30 33
      app/src/main/java/com/example/chemical/ui/plan/change/ChangeCabinetActivity.java
  22. 6 1
      app/src/main/java/com/example/chemical/ui/plan/save_list/SaveListActivity.java
  23. 16 0
      app/src/main/java/com/example/chemical/ui/plan/unlock/UnlockActivity.java
  24. 1 0
      app/src/main/java/com/example/chemical/ui/plan/unlock/UnlockActivityHelp.java
  25. 4 0
      app/src/main/java/com/example/chemical/ui/still/ChemicalsAlsoActivity.kt
  26. 4 0
      app/src/main/java/com/example/chemical/ui/still/DemonstrateActivity.kt
  27. 4 0
      app/src/main/java/com/example/chemical/ui/still/MsdsActivity.kt
  28. 4 0
      app/src/main/java/com/example/chemical/ui/uses/ProcessedActivity.kt
  29. 22 1
      app/src/main/java/com/example/chemical/ui/uses/UseActivity.kt
  30. 4 0
      app/src/main/java/com/example/chemical/ui/uses/WarningEventsActivity.kt
  31. 5 0
      app/src/main/java/com/example/chemical/ui/verify/DoubleVerifyActivity.java
  32. 8 1
      app/src/main/java/com/example/chemical/ui/verify/DoubleVerifyActivityHelp.java
  33. 4 0
      app/src/main/java/com/example/chemical/ui/verify/ScanCodeTwoActivity.kt
  34. 4 0
      app/src/main/java/com/example/chemical/ui/verify/SwipeCodeTwoActivity.kt
  35. 4 0
      app/src/main/java/com/example/chemical/ui/verify/TwoPersonActivity.kt
  36. 7 0
      app/src/main/java/com/example/chemical/ui/verify/TwoVerificationActivity.kt
  37. 4 0
      app/src/main/java/com/example/chemical/ui/warehousing/ChemicalLabelingActivity.kt
  38. 4 0
      app/src/main/java/com/example/chemical/ui/warehousing/ElectronicLedgerActivity.kt
  39. 4 0
      app/src/main/java/com/example/chemical/ui/warehousing/WarehousingActivity.kt
  40. 4 0
      app/src/main/java/com/example/chemical/utils/bluetooth/BluetoothTool.java
  41. 0 1
      app/src/main/java/com/example/chemical/weidith/BelongingPersonDialog.kt
  42. 38 17
      app/src/main/java/com/example/chemical/weidith/BluetoothWeighDialog.java
  43. 3 1
      app/src/main/java/com/example/chemical/weidith/CabinetOpenDialog.kt
  44. 0 1
      app/src/main/java/com/example/chemical/weidith/DcaeDialog.kt
  45. 9 1
      app/src/main/res/layout/activity_main.xml
  46. 1 0
      app/src/main/res/layout/activity_save_list.xml
  47. 11 0
      app/src/main/res/layout/activity_unlock.xml
  48. 1 1
      config/config.gradle

+ 2 - 2
HttpCoreLibrary/src/main/java/com/rc/httpcore/bean/UserValidationBean.kt

@@ -9,8 +9,8 @@ data class UserValidationBean(
     val collegeAdmin: Boolean? = false,         //院级管理员
     val schoolLevelAdmin: Boolean? = false,     //校级管理员
     val adminUser: Boolean? = false,            //实验室负责人
-    val apply: Boolean? = false,                // 实验室准入
-    val white: Boolean? = false,                // 白名单
+    val apply: Boolean? = false,                //实验室准入
+    val white: Boolean? = false,                //白名单
     val userId: String,
     val userName: String,
     var faceImg: String?,  //人员图片

+ 1 - 1
RcCore/src/main/java/com/rc/core/ui/activity/RcBaseActivity.kt

@@ -27,7 +27,7 @@ abstract class RcBaseActivity<VB : ViewBinding> : AppCompatActivity(), IUIListen
 
     protected val viewBinding get() = _viewBinding
 
-    private lateinit var mUIDelegate: AbsUIDelegate
+    protected lateinit var mUIDelegate: AbsUIDelegate
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)

+ 1 - 0
app/src/main/java/com/example/chemical/ui/MainActivity.kt

@@ -604,6 +604,7 @@ class MainActivity : RcBaseActivity<ActivityMainBinding>() {
     private fun basicConfLog() {
         val disposable = ApiRepository.basicConfig(ChemicalApp.subjectId!!)
             .subscribe({ data ->
+                LogUtils.json(data)
                 ChemicalApp.confs = data
                 mLoginType = data.loginType     //登陆方式
                 if (mLoginType == null) {

+ 153 - 0
app/src/main/java/com/example/chemical/ui/common/BaseCountDownActivity.java

@@ -0,0 +1,153 @@
+package com.example.chemical.ui.common;
+
+import android.os.Bundle;
+import android.os.CountDownTimer;
+
+import androidx.annotation.Nullable;
+import androidx.viewbinding.ViewBinding;
+
+import com.blankj.utilcode.util.LogUtils;
+import com.example.chemical.ChemicalApp;
+import com.example.chemical.comm.Constants;
+import com.rc.core.ui.activity.RcBaseActivity;
+import com.rc.httpcore.bean.ConfigBean;
+import com.rc.httpcore.client.ApiRepository;
+
+import io.reactivex.functions.Consumer;
+
+public abstract class BaseCountDownActivity<VB extends ViewBinding> extends RcBaseActivity<VB> {
+
+    // 公共配置倒计时长
+    private int backTime = 60;
+    // 页面自定义倒计时长
+    private int cTime = 0;
+
+
+    private CountDownTimer countDownTimer = new CountDownTimer(1000, 1000) {
+        @Override
+        public void onTick(long millisUntilFinished) {
+        }
+
+
+        @Override
+        public void onFinish() {
+            if (!isFinishing() && !isDestroyed()) {
+                if (cTime > 0) {
+                    cTime--;
+                    if (cTime <= 0) {
+                        cdEnd();
+                    } else {
+                        invokeTime(cTime);
+                    }
+                } else {
+                    backTime--;
+                    if (backTime <= 0) {
+                        cdEnd();
+                    } else {
+                        invokeTime(backTime);
+                    }
+                }
+                countDownTimer.start();
+            }
+        }
+    };
+
+    private void cdEnd() {
+        // 下面逻辑是之前开发者的  很难理解为什么写
+                    if (BaseCountDownActivity.class instanceof UseActivity.class) {
+                        cdFinish();
+                    } else {
+                        UiManager.INSTANCE.switcher(BaseCountDownActivity.this, MainActivity.class);
+                    }
+    }
+
+    private void invokeTime(int cd) {
+        if (!isDestroyed()) {
+            cdTime(backTime);
+        }
+    }
+
+    /**
+     * 当前页最大倒计时
+     */
+    protected void setCTime(int cd) {
+        cTime = cd;
+    }
+
+    protected abstract void cdTime(int cd);
+
+    protected void cdFinish() {
+    }
+
+    /**
+     * 重置时间
+     */
+    private void reSetCdTime() {
+        ConfigBean configBean = ChemicalApp.confs;
+        if (null != configBean) {
+            backTime = configBean.getBackTime();
+            Constants.INSTANCE.setOFFTIME_TIME(configBean.getOffTime());
+        }
+    }
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // 重置时间
+        reSetCdTime();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        if (null != countDownTimer) {
+            countDownTimer.start();
+        }
+    }
+
+    @Override
+    protected void onPause() {
+        super.onPause();
+        if (null != countDownTimer) {
+            countDownTimer.cancel();
+        }
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        stopCountDown();
+    }
+
+    @Override
+    public void onUserInteraction() {
+        super.onUserInteraction();
+        reSetCdTime();
+    }
+
+    protected void stopCountDown() {
+        if (null != countDownTimer) {
+            countDownTimer.cancel();
+            countDownTimer = null;
+        }
+    }
+
+    protected void callLogoutApi(Consumer<Boolean> unit) {
+
+        showLoading("退出中...", false);
+        addDisposable(ApiRepository.INSTANCE.loginOut().subscribe(new Consumer<Boolean>() {
+            @Override
+            public void accept(Boolean aBoolean) throws Exception {
+                dismissLoading();
+                unit.accept(true);
+            }
+        }, new Consumer<Throwable>() {
+            @Override
+            public void accept(Throwable throwable) throws Exception {
+                dismissLoading();
+                unit.accept(false);
+            }
+        }));
+    }
+
+}

+ 135 - 135
app/src/main/java/com/example/chemical/ui/common/BaseCountDownActivity.kt

@@ -1,135 +1,135 @@
-package com.example.chemical.ui.common
-
-import android.app.Dialog
-import android.content.Intent
-import android.os.Handler
-import android.os.Looper
-import android.os.Message
-import android.util.Log
-import androidx.viewbinding.ViewBinding
-import com.blankj.utilcode.util.LogUtils
-import com.example.chemical.ChemicalApp
-import com.example.chemical.comm.Constants
-import com.example.chemical.iml.IBankTeps
-import com.example.chemical.ui.MainActivity
-import com.example.chemical.utils.TimesUils
-import com.example.chemical.utils.UiManager
-import com.rc.core.ui.activity.RcBaseActivity
-import com.rc.httpcore.client.ApiRepository
-import com.tobey.dialogloading.DialogUtils
-
-/**
- * info
- *
- * @author ReiChin_
- */
-abstract class BaseCountDownActivity<VB : ViewBinding> : RcBaseActivity<VB>() {
-    var mDialog: Dialog? = null
-    private var mCounter = 0
-    private var mIBankTeps: IBankTeps? = null
-
-    companion object {
-        private var MAX_TIME = 60    //注销时间必须大于自动返回时间   单位
-        private const val WHAT_COUNT_DOWN = 1
-
-    }
-
-
-    // 在B Activity中设置回调
-    fun seIBanks(callback: IBankTeps) {
-        this.mIBankTeps = callback
-    }
-
-    protected fun stopCountDown() {
-        mCounter = 0
-        mCountDownHandler.removeMessages(WHAT_COUNT_DOWN)
-    }
-
-    protected fun startCountDown() {
-        mCounter = 0
-//        Log.d("======父页面返回","--------${ChemicalApp.confs!!.backTime}")
-        mCountDownHandler.removeMessages(WHAT_COUNT_DOWN)
-        if (null != ChemicalApp.userData) {
-            Constants.OFFTIME_TIME = ChemicalApp.confs!!.offTime  //弹框返回时间
-            mCountDownHandler.sendEmptyMessage(WHAT_COUNT_DOWN)
-//            Log.d("======父页面返回","--------${ChemicalApp.confs!!.backTime}")
-            if (ChemicalApp.confs!!.backTime != 0) {
-                val secondsToMillisecondst =
-                    TimesUils.secondsToMillisecondst(ChemicalApp.confs!!.backTime)
-                MAX_TIME = ChemicalApp.confs!!.backTime
-//                Log.d("======父页面返回","--------$MAX_TIME")
-            }
-
-        }
-    }
-
-    override fun onResume() {
-        super.onResume()
-//        Log.d("======父页面返回","--------232131---3231")
-        startCountDown()
-    }
-
-    override fun onPause() {
-        super.onPause()
-        stopCountDown()
-    }
-
-    override fun onDestroy() {
-        mCountDownHandler.removeCallbacksAndMessages(null)
-        if (mDialog != null) {
-            DialogUtils.Companion.closeDialog(mDialog!!)
-        }
-        if (Constants.VIEW_TYPE) {
-            Constants.VIEW_TYPE = false
-        }
-        super.onDestroy()
-    }
-
-    //和页面交互时进行触发得
-    override fun onUserInteraction() {
-//        Log.d("===页面有交互","---------------")
-        startCountDown()
-    }
-
-    private val mCountDownHandler = object : Handler(Looper.getMainLooper()) {
-
-        override fun handleMessage(msg: Message) {
-            if (WHAT_COUNT_DOWN == msg.what) {
-                val countDown = MAX_TIME - mCounter
-                if (isDestroyed) return
-                if (countDown <= 0) {
-                    if (Constants.VIEW_TYPE) {
-                        //当前在废弃or领用页面
-                        if (null != mIBankTeps) {
-                            mIBankTeps!!.onViewLint()
-                        }
-                    } else {
-                        UiManager.switcherCashier(
-                            this@BaseCountDownActivity,
-                            MainActivity::class.java
-                        )
-                    }
-                } else {
-                    sendEmptyMessageDelayed(WHAT_COUNT_DOWN, 1000)
-                }
-                mCounter++
-            }
-        }
-    }
-
-
-    protected fun callLogoutApi(callback: ((success: Boolean) -> Unit)? = null) {
-        showLoading("退出中...")
-        val disposable = ApiRepository.loginOut()
-            .subscribe({
-                dismissLoading()
-                callback?.invoke(true)
-            }, {
-                dismissLoading()
-                callback?.invoke(false)
-            })
-        addDisposable(disposable)
-    }
-
-
-}
+//package com.example.chemical.ui.common
+//
+//import android.app.Dialog
+//import android.content.Intent
+//import android.os.Handler
+//import android.os.Looper
+//import android.os.Message
+//import android.util.Log
+//import androidx.viewbinding.ViewBinding
+//import com.blankj.utilcode.util.LogUtils
+//import com.example.chemical.ChemicalApp
+//import com.example.chemical.comm.Constants
+//import com.example.chemical.iml.IBankTeps
+//import com.example.chemical.ui.MainActivity
+//import com.example.chemical.utils.TimesUils
+//import com.example.chemical.utils.UiManager
+//import com.rc.core.ui.activity.RcBaseActivity
+//import com.rc.httpcore.client.ApiRepository
+//import com.tobey.dialogloading.DialogUtils
+//
+///**
+// * info
+// *
+// * @author ReiChin_
+// */
+//abstract class BaseCountDownActivity<VB : ViewBinding> : RcBaseActivity<VB>() {
+//    var mDialog: Dialog? = null
+//    private var mCounter = 0
+//    private var mIBankTeps: IBankTeps? = null
+//
+//    companion object {
+//        private var MAX_TIME = 60    //注销时间必须大于自动返回时间   单位
+//        private const val WHAT_COUNT_DOWN = 1
+//
+//    }
+//
+//
+//    // 在B Activity中设置回调
+//    fun seIBanks(callback: IBankTeps) {
+//        this.mIBankTeps = callback
+//    }
+//
+//    protected fun stopCountDown() {
+//        mCounter = 0
+//        mCountDownHandler.removeMessages(WHAT_COUNT_DOWN)
+//    }
+//
+//    protected fun startCountDown() {
+//        mCounter = 0
+////        Log.d("======父页面返回","--------${ChemicalApp.confs!!.backTime}")
+//        mCountDownHandler.removeMessages(WHAT_COUNT_DOWN)
+//        if (null != ChemicalApp.userData) {
+//            Constants.OFFTIME_TIME = ChemicalApp.confs!!.offTime  //弹框返回时间
+//            mCountDownHandler.sendEmptyMessage(WHAT_COUNT_DOWN)
+////            Log.d("======父页面返回","--------${ChemicalApp.confs!!.backTime}")
+//            if (ChemicalApp.confs!!.backTime != 0) {
+//                val secondsToMillisecondst =
+//                    TimesUils.secondsToMillisecondst(ChemicalApp.confs!!.backTime)
+//                MAX_TIME = ChemicalApp.confs!!.backTime
+////                Log.d("======父页面返回","--------$MAX_TIME")
+//            }
+//
+//        }
+//    }
+//
+//    override fun onResume() {
+//        super.onResume()
+////        Log.d("======父页面返回","--------232131---3231")
+//        startCountDown()
+//    }
+//
+//    override fun onPause() {
+//        super.onPause()
+//        stopCountDown()
+//    }
+//
+//    override fun onDestroy() {
+//        mCountDownHandler.removeCallbacksAndMessages(null)
+//        if (mDialog != null) {
+//            DialogUtils.Companion.closeDialog(mDialog!!)
+//        }
+//        if (Constants.VIEW_TYPE) {
+//            Constants.VIEW_TYPE = false
+//        }
+//        super.onDestroy()
+//    }
+//
+//    //和页面交互时进行触发得
+//    override fun onUserInteraction() {
+////        Log.d("===页面有交互","---------------")
+//        startCountDown()
+//    }
+//
+//    private val mCountDownHandler = object : Handler(Looper.getMainLooper()) {
+//
+//        override fun handleMessage(msg: Message) {
+//            if (WHAT_COUNT_DOWN == msg.what) {
+//                val countDown = MAX_TIME - mCounter
+//                if (isDestroyed) return
+//                if (countDown <= 0) {
+//                    if (Constants.VIEW_TYPE) {
+//                        //当前在废弃or领用页面
+//                        if (null != mIBankTeps) {
+//                            mIBankTeps!!.onViewLint()
+//                        }
+//                    } else {
+//                        UiManager.switcherCashier(
+//                            this@BaseCountDownActivity,
+//                            MainActivity::class.java
+//                        )
+//                    }
+//                } else {
+//                    sendEmptyMessageDelayed(WHAT_COUNT_DOWN, 1000)
+//                }
+//                mCounter++
+//            }
+//        }
+//    }
+//
+//
+//    protected fun callLogoutApi(callback: ((success: Boolean) -> Unit)? = null) {
+//        showLoading("退出中...")
+//        val disposable = ApiRepository.loginOut()
+//            .subscribe({
+//                dismissLoading()
+//                callback?.invoke(true)
+//            }, {
+//                dismissLoading()
+//                callback?.invoke(false)
+//            })
+//        addDisposable(disposable)
+//    }
+//
+//
+//}

+ 25 - 7
app/src/main/java/com/example/chemical/ui/discard/ChecklistsActivity.kt

@@ -82,16 +82,16 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
         val imageView = viewBinding.imageName
         // 使用 Glide 加载网络图片
         Glide.with(this)
-                .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.userData!!.avatar}")
-                .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
-                .into(imageView)
+            .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.userData!!.avatar}")
+            .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
+            .into(imageView)
 
         // 使用 Glide 加载网络图片
         viewBinding.deptName.text = "${ChemicalApp.confs!!.deptName}-${ChemicalApp.confs!!.roomNum}"
         Glide.with(this)
-                .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.confs!!.circularLogo}")
-                .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
-                .into(viewBinding.image)
+            .load("${HttpConfig.API_BASE_IMG_URL}${ChemicalApp.confs!!.circularLogo}")
+            .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
+            .into(viewBinding.image)
         getLists()
     }
 
@@ -103,6 +103,10 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
         }
     }
 
+    override fun cdTime(cd: Int) {
+        TODO("Not yet implemented")
+    }
+
     private fun initTitle() {
         viewBinding.tvName.text = ChemicalApp.userData!!.userName
         val imageView = viewBinding.imageName
@@ -120,7 +124,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                 .subscribe({ data ->
                     dismissLoading()
                     mDataPage = data.pages  //总页
-                    if (mAdapter.data!=null){
+                    if (mAdapter.data != null) {
                         mAdapter.data.clear()
                         mAdapter.notifyDataSetChanged()
                         initPagesView(data.pages)
@@ -160,13 +164,16 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
             1 -> {
                 viewBinding.one.visibility = View.VISIBLE
             }
+
             2 -> {
                 viewBinding.two.visibility = View.VISIBLE
             }
+
             3 -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
             }
+
             else -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
@@ -189,11 +196,13 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -214,11 +223,13 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -248,6 +259,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
 //                    viewBinding.two.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -272,6 +284,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
 //                    viewBinding.three.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -324,6 +337,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -347,6 +361,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -370,6 +385,7 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
                 }
+
                 else -> {
                     viewBinding.three.text = "$current"
                     if (pages == current) {
@@ -439,4 +455,6 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
             }
         }
     }
+
+
 }

+ 4 - 0
app/src/main/java/com/example/chemical/ui/discard/LedgerActivity.kt

@@ -95,6 +95,10 @@ class LedgerActivity : BaseCountDownActivity<ActivityLedgerBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private fun fragmentInView() {
         val tabArray = mutableListOf(
             UseLedgerFragment.newInstance(),

+ 2 - 0
app/src/main/java/com/example/chemical/ui/discard/ListReturnedActivity.kt

@@ -8,5 +8,7 @@ import com.example.chemical.ui.common.BaseCountDownActivity
 class ListReturnedActivity : BaseCountDownActivity<ActivityListReturnedBinding>() {
 
     override fun createViewBinding()= ActivityListReturnedBinding.inflate(LayoutInflater.from(this))
+    override fun cdTime(cd: Int) {
+    }
 
 }

+ 22 - 5
app/src/main/java/com/example/chemical/ui/discard/WasteChemicalsActivity.kt

@@ -44,7 +44,7 @@ import java.net.ConnectException
 import java.net.SocketTimeoutException
 
 //废弃-  化学品
-class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBinding>(), IBankTeps {
+class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBinding>() {
     private val mAdapter by lazy { WasteChemicalsAdapter(this) }
     private var mUsbReceiver: UsbReceiver? = null  // 刷卡广播注册
     private var mHandleScanEvent = false //当前是否已经获取过 usb返回的参数
@@ -75,7 +75,6 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
         super.initViews(savedInstanceState)
         inAdapter()
         Constants.VIEW_TYPE = true
-        seIBanks(this)
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvOutLogin.setOnClickListener {
             callLogoutApi {
@@ -615,13 +614,16 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
             1 -> {
                 viewBinding.one.visibility = View.VISIBLE
             }
+
             2 -> {
                 viewBinding.two.visibility = View.VISIBLE
             }
+
             3 -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
             }
+
             else -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
@@ -644,11 +646,13 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -669,11 +673,13 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -703,6 +709,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
 //                    viewBinding.two.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -727,6 +734,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
 //                    viewBinding.three.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -779,6 +787,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -802,6 +811,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -825,6 +835,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
                 }
+
                 else -> {
                     viewBinding.three.text = "$current"
                     if (pages == current) {
@@ -999,6 +1010,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
 
 
                             }
+
                             "3" -> {//扫码
                                 map["mVerTyps"] = 3
 
@@ -1077,6 +1089,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
                     throwable.message!!
                 }
             }
+
             is SocketTimeoutException -> "请求超时,请稍后重试"
             is ConnectException -> "无法连接服务器,请检查网络"
             is HttpException -> "服务器繁忙,请稍后重试"
@@ -1246,6 +1259,10 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        TODO("Not yet implemented")
+    }
+
     //=================开锁流程================
     private fun openLock(mLockStr: ArrayList<String>) {
         val map = mutableMapOf<String, Any>()
@@ -1351,6 +1368,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
     }
 
 
+
     //查询开锁信息
     private fun getLocks() {
         mCabinetLockVoList!!.forEachIndexed { index, fruit ->
@@ -1386,7 +1404,8 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
     }
 
     //自动返回了
-    override fun onViewLint() {
+    override fun cdFinish() {
+        super.cdFinish()
         if (Constants.VIEW_TYPE) {
             Constants.VIEW_TYPE = false
         }
@@ -1395,8 +1414,6 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
         } else {
             finish()
         }
-
     }
 
-
 }

+ 6 - 0
app/src/main/java/com/example/chemical/ui/inquiry/InquiryActivity.kt

@@ -449,6 +449,10 @@ class InquiryActivity : BaseCountDownActivity<ActivityInquiryBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     //==========================开锁信息===================
 
     //=================开锁流程================
@@ -669,4 +673,6 @@ class InquiryActivity : BaseCountDownActivity<ActivityInquiryBinding>() {
         }
 
     }
+
+
 }

+ 4 - 0
app/src/main/java/com/example/chemical/ui/inquiry/QueryDetailsActivity.kt

@@ -36,6 +36,10 @@ class QueryDetailsActivity : BaseCountDownActivity<ActivityQueryDetailsBinding>(
         }
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private fun getList(stockId: String) {
 //        showLoading("查询中...")
 //        mutableMap["stockId"] = stockId

+ 4 - 0
app/src/main/java/com/example/chemical/ui/login/FacialCardActivity.kt

@@ -315,6 +315,10 @@ class FacialCardActivity : BaseCountDownActivity<ActivityFacialCardBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     //获取刷卡信息
     override fun dispatchKeyEvent(event: KeyEvent?): Boolean {
         mPortScanHelper.dispatchKeyEvent(event)

+ 4 - 0
app/src/main/java/com/example/chemical/ui/login/FacialLoginActivity.kt

@@ -180,6 +180,10 @@ class FacialLoginActivity : BaseCountDownActivity<ActivityFacialLoginBinding>()
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     override fun onDestroy() {
         super.onDestroy()
 //        cancelTime()//手动关闭

+ 6 - 1
app/src/main/java/com/example/chemical/ui/login/ScanLoginActivity.kt

@@ -26,6 +26,7 @@ import com.google.zxing.BarcodeFormat
 import com.google.zxing.MultiFormatWriter
 import com.google.zxing.WriterException
 import com.google.zxing.common.BitMatrix
+import com.kongzue.dialogx.dialogs.PopTip
 import com.lztek.toolkit.Lztek
 import com.rc.core.log.RcLog
 import com.rc.httpcore.HttpClient
@@ -206,10 +207,10 @@ class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
                 }
 
             }, { throwable ->
+                PopTip.show(throwable.message)
                 dismissLoading()
                 HttpClient.token = null
                 ChemicalApp.userData = null
-                throwableView(throwable)
             })
         addDisposable(disposable)
     }
@@ -292,6 +293,10 @@ class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private val handlerBack = Handler(Looper.getMainLooper())
     private var timeLeftInSeconds = 2
     private var mTvView: TextView? = null

+ 6 - 0
app/src/main/java/com/example/chemical/ui/login/SwipeActivity.kt

@@ -11,6 +11,7 @@ import android.view.MotionEvent
 import android.view.View
 import android.widget.TextView
 import com.blankj.utilcode.util.AppUtils
+import com.blankj.utilcode.util.LogUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
@@ -163,6 +164,7 @@ class SwipeActivity : BaseCountDownActivity<ActivitySwipeBinding>() {
         val disposable = ApiRepository.userCardValidation(userId, subId)
             .subscribe({ data ->
                 dismissLoading()
+                LogUtils.json(data)
                 val allFalse = with(data) {
                     cabinetAdmin == false &&
                             belongUser == false &&
@@ -253,6 +255,10 @@ class SwipeActivity : BaseCountDownActivity<ActivitySwipeBinding>() {
         UiManager.switcherCashier(this, MainActivity::class.java)
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private val handlerBack = Handler(Looper.getMainLooper())
     private var timeLeftInSeconds = 2
     private var mTvView: TextView? = null

+ 4 - 0
app/src/main/java/com/example/chemical/ui/newly/AddedChemicalsActivity.kt

@@ -1751,6 +1751,10 @@ class AddedChemicalsActivity : BaseCountDownActivity<ActivityAddedChemicalsBindi
         }
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     //开锁
     private fun openLock(mLockStr: ArrayList<String>) {
         val map = mutableMapOf<String, Any>()

+ 11 - 1
app/src/main/java/com/example/chemical/ui/plan/PlanAddActivity.java

@@ -261,7 +261,6 @@ public class PlanAddActivity extends BaseCountDownActivity<ActivityPlanAddBindin
             ChemicalApp.userData = null;
             ChemicalApp.subjectId = null;
             UiManager.INSTANCE.switcherCashier(PlanAddActivity.this, SplashActivity.class);
-            return null;
         }));
         binding.tvReturn.setOnClickListener(v -> finish());
     }
@@ -284,15 +283,26 @@ public class PlanAddActivity extends BaseCountDownActivity<ActivityPlanAddBindin
     }
 
 
+    /**
+     * 柜层选择监听
+     */
     protected FragmentCallBack fragmentCallBack = new FragmentCallBack() {
         @Override
         public void onSelected(CabinetLayerSelect lastSelectInfo) {
+            if (binding.addIndexTV.getVisibility() == View.VISIBLE) {
+                binding.addIndexTV.setVisibility(View.GONE);
+            }
             planAddActivityHelp.startScanEventListener();
             planAddActivityHelp.selectCabinetLayer(lastSelectInfo);
         }
     };
 
     @Override
+    protected void cdTime(int cd) {
+        binding.tvReturn.setText("返回" + cd + "s");
+    }
+
+    @Override
     protected void onDestroy() {
         fragmentCallBack = null;
         super.onDestroy();

+ 39 - 14
app/src/main/java/com/example/chemical/ui/plan/PlanAddActivityHelp.java

@@ -159,9 +159,6 @@ public class PlanAddActivityHelp {
      * 更新待存储列表
      */
     public void updateInventoryUi() {
-        if (activity.binding.addIndexTV.getVisibility() == View.VISIBLE) {
-            activity.binding.addIndexTV.setVisibility(View.GONE);
-        }
         // 待存储列表更新
         CabinetLayerSelect cabinetLayerSelect = activity.hxpLayerDAO.getChanged();
         if (null != cabinetLayerSelect) {
@@ -207,21 +204,49 @@ public class PlanAddActivityHelp {
             @Override
             public void onSuccess(HxpChemicalVo result) {
                 if (result != null) {
-                    List<StockDetailsModel> stockDetailsModelList = result.getStockDetailsModelList();
-                    if (null == stockDetailsModelList) {
-                        stockDetailsModelList = new ArrayList<>();
+                    boolean isHasHxp = false;
+                    for (int i = 0; i < activity.inventoryItemBeanList.size(); i++) {
+                        InventoryItemBean inventoryItemBean = activity.inventoryItemBeanList.get(i);
+                        HxpChemicalVo hxpChemicalVo = inventoryItemBean.getHxpChemicalVo();
+                        if (null != hxpChemicalVo) {
+                            List<StockDetailsModel> stockDetailsModelList = hxpChemicalVo.getStockDetailsModelList();
+                            if (null != stockDetailsModelList && !stockDetailsModelList.isEmpty()) {
+                                for (int j = 0; j < stockDetailsModelList.size(); j++) {
+                                    StockDetailsModel stockDetailsModel = stockDetailsModelList.get(j);
+                                    if (code.equals(stockDetailsModel.getTagCode())) {
+                                        isHasHxp = true;
+                                        break;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    if (!isHasHxp) {
+                        List<StockDetailsModel> stockDetailsModelList = result.getStockDetailsModelList();
+                        if (null == stockDetailsModelList) {
+                            stockDetailsModelList = new ArrayList<>();
+                        }
+                        String wxCode = HttpConfig.Companion.getAPI_BASE_QC_URL() + "?code=" + code + "&type=9";
+                        StockDetailsModel stockDetailsModel = new StockDetailsModel(null, null, code, 0, wxCode);
+                        stockDetailsModelList.add(stockDetailsModel);
+                        result.setStockDetailsModelList(stockDetailsModelList);
+                        Intent intent = new Intent(activity, AddActivity.class);
+                        intent.putExtra("data", "qr");
+                        intent.putExtra("Chemical", GsonUtils.toJson(result));
+                        activity.intentActivityResultLauncher.launch(intent);
+                    } else {
+                        PopTip.show("请勿重复录入化学品!");
                     }
-                    String wxCode = HttpConfig.Companion.getAPI_BASE_QC_URL() + "?code=" + code + "&type=9";
-                    StockDetailsModel stockDetailsModel = new StockDetailsModel(null, null, code, 0, wxCode);
-                    stockDetailsModelList.add(stockDetailsModel);
-                    result.setStockDetailsModelList(stockDetailsModelList);
-                    Intent intent = new Intent(activity, AddActivity.class);
-                    intent.putExtra("data", "qr");
-                    intent.putExtra("Chemical", GsonUtils.toJson(result));
-                    activity.intentActivityResultLauncher.launch(intent);
                 }
                 activity.dismissLoading();
             }
+
+            @Override
+            public void onFail(Throwable t) {
+                super.onFail(t);
+                activity.showNetError(t);
+                activity.dismissLoading();
+            }
         });
     }
 

+ 5 - 1
app/src/main/java/com/example/chemical/ui/plan/add/AddActivity.java

@@ -290,7 +290,6 @@ public class AddActivity extends BaseCountDownActivity<ActivityAddBinding> {
             ChemicalApp.userData = null;
             ChemicalApp.subjectId = null;
             UiManager.INSTANCE.switcherCashier(AddActivity.this, SplashActivity.class);
-            return null;
         }));
 
         hxpCabinetDAO = RoomTool.getInstance().hxpCabinetDAO();
@@ -313,6 +312,11 @@ public class AddActivity extends BaseCountDownActivity<ActivityAddBinding> {
     }
 
     @Override
+    protected void cdTime(int cd) {
+
+    }
+
+    @Override
     protected void onDestroy() {
         addActivityHelp = null;
         super.onDestroy();

+ 26 - 8
app/src/main/java/com/example/chemical/ui/plan/add/AddActivityHelp.java

@@ -6,15 +6,13 @@ import android.text.InputType;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
+import android.widget.Toast;
 
 import com.blankj.utilcode.util.GsonUtils;
 import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.ThreadUtils;
 import com.example.chemical.ui.plan.room.bean.input_add.HxpChemical;
 import com.example.chemical.ui.plan.room.bean.input_add.InventoryItemBean;
-import com.example.chemical.ui.plan.room.bean.locker.CabinetLayerSelect;
-import com.example.chemical.ui.plan.room.bean.locker.HxpCabinetDoorVo;
-import com.example.chemical.ui.plan.room.bean.locker.HxpCabinetVo;
 import com.example.chemical.weidith.BelongingPersonDialog;
 import com.example.chemical.weidith.BluetoothWeighDialog;
 import com.example.chemical.weidith.SelectChemicalDialog;
@@ -403,11 +401,11 @@ public class AddActivityHelp {
                 }
             }, throwable -> {
                 LogUtils.e(Log.getStackTraceString(throwable));
-                activity.showNetError(throwable);
+                PopTip.show(throwable.getMessage());
             }));
         }, throwable -> {
             LogUtils.e(Log.getStackTraceString(throwable));
-            activity.showNetError(throwable);
+            PopTip.show(throwable.getMessage());
         }));
     }
 
@@ -415,14 +413,34 @@ public class AddActivityHelp {
      * 启动称重
      */
     private void startBluetoothWeigh() {
-        BluetoothWeighDialog bluetoothWeighDialog = new BluetoothWeighDialog(activity, activity.hxpChemicalVo);
-        bluetoothWeighDialog.setOnDismissListener(dialog -> {
-            saveEnd();
+        BluetoothWeighDialog bluetoothWeighDialog = new BluetoothWeighDialog(activity, activity.hxpChemicalVo, new BluetoothWeighDialog.DialogCallBack() {
+            @Override
+            public void confirm(BluetoothWeighDialog bluetoothWeighDialog) {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        bluetoothWeighDialog.dismiss();
+                        saveEnd();
+                    }
+                });
+            }
+
+            @Override
+            public void cancel(BluetoothWeighDialog bluetoothWeighDialog, String msg) {
+                activity.runOnUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        Toast.makeText(activity, msg, Toast.LENGTH_LONG).show();
+                        bluetoothWeighDialog.dismiss();
+                    }
+                });
+            }
         });
         bluetoothWeighDialog.show();
     }
 
     private void saveEnd() {
+        Toast.makeText(activity, "添加成功", Toast.LENGTH_SHORT).show();
         activity.hxpInventoryDAO.insert(activity.inventoryItemBean);
         activity.setResult(Activity.RESULT_OK);
         activity.finish();

+ 30 - 33
app/src/main/java/com/example/chemical/ui/plan/change/ChangeCabinetActivity.java

@@ -1,21 +1,14 @@
 package com.example.chemical.ui.plan.change;
 
-import android.content.Intent;
 import android.os.Bundle;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.viewpager2.widget.ViewPager2;
 
 import com.example.chemical.databinding.ActivityChangeCabinetBinding;
 import com.example.chemical.ui.common.BaseCountDownActivity;
 import com.example.chemical.ui.plan.FragmentCallBack;
-import com.example.chemical.ui.plan.room.RoomTool;
 import com.example.chemical.ui.plan.room.bean.locker.CabinetLayerSelect;
-import com.example.chemical.ui.plan.room.bean.locker.HxpCabinetDoorVo;
-import com.example.chemical.ui.plan.room.bean.locker.HxpCabinetVo;
-
-import java.util.List;
 
 /**
  * 更换位置
@@ -34,32 +27,32 @@ public class ChangeCabinetActivity extends BaseCountDownActivity<ActivityChangeC
     @Override
     protected void initViews(@Nullable Bundle savedInstanceState) {
         super.initViews(savedInstanceState);
-        List<HxpCabinetVo> hxpCabinetVoList = RoomTool.getInstance().hxpCabinetDAO().getAll();
-        for (int i = 0; i < hxpCabinetVoList.size(); i++) {
-            HxpCabinetVo s = hxpCabinetVoList.get(i);
-        }
-        changeCabinetAdapter = new ChangeCabinetAdapter(this, hxpCabinetVoList, fragmentCallBack);
-        binding.cabinetVP.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
-            @Override
-            public void onPageSelected(int position) {
-                super.onPageSelected(position);
-                binding.countTV.setText((position + 1) + "/" + changeCabinetAdapter.getItemCount());
-            }
-        });
-        binding.nextBT.setOnClickListener(view -> binding.cabinetVP.setCurrentItem(binding.cabinetVP.getCurrentItem() + 1, true));
-        binding.lastBT.setOnClickListener(view -> binding.cabinetVP.setCurrentItem(binding.cabinetVP.getCurrentItem() - 1, true));
-        binding.cabinetVP.setAdapter(changeCabinetAdapter);
-
-        binding.cancelBT.setOnClickListener(v -> finish());
-
-        binding.confirmBT.setOnClickListener(v -> {
-            Intent intent = new Intent();
-            Bundle bundle = new Bundle();
-            bundle.putSerializable("Change", cabinetLayerSelect);
-            intent.putExtra("data", bundle);
-            setResult(RESULT_OK, intent);
-            finish();
-        });
+//        List<HxpCabinetVo> hxpCabinetVoList = RoomTool.getInstance().hxpCabinetDAO().getAll();
+//        for (int i = 0; i < hxpCabinetVoList.size(); i++) {
+//            HxpCabinetVo s = hxpCabinetVoList.get(i);
+//        }
+//        changeCabinetAdapter = new ChangeCabinetAdapter(this, hxpCabinetVoList, fragmentCallBack);
+//        binding.cabinetVP.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
+//            @Override
+//            public void onPageSelected(int position) {
+//                super.onPageSelected(position);
+//                binding.countTV.setText((position + 1) + "/" + changeCabinetAdapter.getItemCount());
+//            }
+//        });
+//        binding.nextBT.setOnClickListener(view -> binding.cabinetVP.setCurrentItem(binding.cabinetVP.getCurrentItem() + 1, true));
+//        binding.lastBT.setOnClickListener(view -> binding.cabinetVP.setCurrentItem(binding.cabinetVP.getCurrentItem() - 1, true));
+//        binding.cabinetVP.setAdapter(changeCabinetAdapter);
+//
+//        binding.cancelBT.setOnClickListener(v -> finish());
+//
+//        binding.confirmBT.setOnClickListener(v -> {
+//            Intent intent = new Intent();
+//            Bundle bundle = new Bundle();
+//            bundle.putSerializable("Change", cabinetLayerSelect);
+//            intent.putExtra("data", bundle);
+//            setResult(RESULT_OK, intent);
+//            finish();
+//        });
     }
 
     @Override
@@ -74,4 +67,8 @@ public class ChangeCabinetActivity extends BaseCountDownActivity<ActivityChangeC
         }
     };
 
+    @Override
+    protected void cdTime(int cd) {
+
+    }
 }

+ 6 - 1
app/src/main/java/com/example/chemical/ui/plan/save_list/SaveListActivity.java

@@ -97,7 +97,6 @@ public class SaveListActivity extends BaseCountDownActivity<ActivitySaveListBind
             ChemicalApp.userData = null;
             ChemicalApp.subjectId = null;
             UiManager.INSTANCE.switcherCashier(SaveListActivity.this, SplashActivity.class);
-            return null;
         }));
 
         inventoryDAO = RoomTool.getInstance().hxpInventoryDAO();
@@ -146,6 +145,7 @@ public class SaveListActivity extends BaseCountDownActivity<ActivitySaveListBind
 
         binding.exit.setOnClickListener(v -> UiManager.INSTANCE.switcher(SaveListActivity.this, MainActivity.class));
 
+        setCTime(10);
     }
 
     public List<String> splitStringIntoChunks(String inputString, int chunkSize) {
@@ -165,4 +165,9 @@ public class SaveListActivity extends BaseCountDownActivity<ActivitySaveListBind
 
         return result;
     }
+
+    @Override
+    protected void cdTime(int cd) {
+        binding.exit.setText("结束" + cd + "s");
+    }
 }

+ 16 - 0
app/src/main/java/com/example/chemical/ui/plan/unlock/UnlockActivity.java

@@ -11,10 +11,14 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.blankj.utilcode.util.GsonUtils;
+import com.example.chemical.ChemicalApp;
 import com.example.chemical.databinding.ActivityUnlockBinding;
+import com.example.chemical.ui.SplashActivity;
 import com.example.chemical.ui.common.BaseCountDownActivity;
+import com.example.chemical.ui.plan.PlanAddActivity;
 import com.example.chemical.ui.plan.PlanAddData;
 import com.example.chemical.ui.verify.DoubleVerifyActivity;
+import com.example.chemical.utils.UiManager;
 import com.rc.httpcore.bean.UserValidationBean;
 
 public class UnlockActivity extends BaseCountDownActivity<ActivityUnlockBinding> {
@@ -77,6 +81,18 @@ public class UnlockActivity extends BaseCountDownActivity<ActivityUnlockBinding>
                 });
             }
         }
+        // 退出
+        binding.tvOutLogin.setOnClickListener(v -> callLogoutApi(aBoolean -> {
+            ChemicalApp.userData = null;
+            ChemicalApp.subjectId = null;
+            UiManager.INSTANCE.switcherCashier(UnlockActivity.this, SplashActivity.class);
+        }));
+        binding.exit.setOnClickListener(v -> finish());
+    }
+
+    @Override
+    protected void cdTime(int cd) {
+        binding.exit.setText("结束" + cd + "s");
     }
 
     @Override

+ 1 - 0
app/src/main/java/com/example/chemical/ui/plan/unlock/UnlockActivityHelp.java

@@ -538,6 +538,7 @@ public class UnlockActivityHelp {
                     hxpChemicalVo.setLayers(String.valueOf(inventoryItemBean.getLayer()));
                     hxpChemicalVoList.add(hxpChemicalVo);
                 }
+                LogUtils.json(hxpChemicalVoList);
                 Response response = HttpTool.addChemical(hxpChemicalVoList);
                 if (response.isSuccessful()) {
                     String json = response.body().string();

+ 4 - 0
app/src/main/java/com/example/chemical/ui/still/ChemicalsAlsoActivity.kt

@@ -1659,6 +1659,10 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private fun openLock(mLockStr: ArrayList<String>) {
         val map = mutableMapOf<String, Any>()
         map["subId"] = ChemicalApp.subjectId!!

+ 4 - 0
app/src/main/java/com/example/chemical/ui/still/DemonstrateActivity.kt

@@ -28,4 +28,8 @@ class DemonstrateActivity : BaseCountDownActivity<ActivityDemonstrateBinding>()
 
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
 }

+ 4 - 0
app/src/main/java/com/example/chemical/ui/still/MsdsActivity.kt

@@ -146,6 +146,10 @@ class MsdsActivity : BaseCountDownActivity<ActivityMsdsBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     //msdsDetails
     private fun msdsDetails(searchValue: String?) {
         showLoading("查询中...")

+ 4 - 0
app/src/main/java/com/example/chemical/ui/uses/ProcessedActivity.kt

@@ -98,6 +98,10 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
 
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
 
     private fun getLists(noticeId: String) {
         showLoading("加载中...")

+ 22 - 1
app/src/main/java/com/example/chemical/ui/uses/UseActivity.kt

@@ -97,7 +97,6 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
     override fun initViews(savedInstanceState: Bundle?) {
         super.initViews(savedInstanceState)
         Constants.VIEW_TYPE = true
-        seIBanks(this)
         initTitle()
         inAdapter()
         getStockList()//查询列表信息
@@ -245,6 +244,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
 
 
                         }
+
                         "3" -> {//扫码
                             map["mVerTyps"] = 3
 
@@ -821,13 +821,16 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
             1 -> {
                 viewBinding.one.visibility = View.VISIBLE
             }
+
             2 -> {
                 viewBinding.two.visibility = View.VISIBLE
             }
+
             3 -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
             }
+
             else -> {
                 viewBinding.two.visibility = View.VISIBLE
                 viewBinding.three.visibility = View.VISIBLE
@@ -850,11 +853,13 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -875,11 +880,13 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 2 -> {
                     viewBinding.three.visibility = View.GONE
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
                 }
+
                 3 -> {
                     viewBinding.many.visibility = View.GONE
                     viewBinding.drop.visibility = View.GONE
@@ -909,6 +916,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
 //                    viewBinding.two.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -933,6 +941,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
 //                    viewBinding.three.visibility = View.VISIBLE
                     viewBinding.one.setTextColor(
@@ -985,6 +994,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 2 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -1008,6 +1018,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                 }
+
                 3 -> {
                     viewBinding.one.setTextColor(
                         ContextCompat.getColor(
@@ -1031,6 +1042,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
                     viewBinding.two.setBackgroundResource(R.drawable.bg_sou_suo_two_page)
                     viewBinding.three.setBackgroundResource(R.drawable.bg_sou_suo_page)
                 }
+
                 else -> {
                     viewBinding.three.text = "$current"
                     if (pages == current) {
@@ -1311,6 +1323,15 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>(), IBankTeps {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
+    override fun cdFinish() {
+        super.cdFinish()
+        onViewLint()
+    }
+
     override fun onDestroy() {
         super.onDestroy()
 //        jobTow?.cancel()

+ 4 - 0
app/src/main/java/com/example/chemical/ui/uses/WarningEventsActivity.kt

@@ -201,6 +201,10 @@ class WarningEventsActivity : BaseCountDownActivity<ActivityWarningEventsBinding
         }
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private fun getLists() {
         val mutableMap = mutableMapOf<String, String>()
         mutableMap["subId"] = "${ChemicalApp.subjectId}"

+ 5 - 0
app/src/main/java/com/example/chemical/ui/verify/DoubleVerifyActivity.java

@@ -112,6 +112,11 @@ public class DoubleVerifyActivity extends BaseCountDownActivity<ActivityDoubleVe
     }
 
     @Override
+    protected void cdTime(int cd) {
+        binding.tvReturn.setText("返回" + cd + "s");
+    }
+
+    @Override
     protected void onDestroy() {
         super.onDestroy();
         if (null != activityHelp) {

+ 8 - 1
app/src/main/java/com/example/chemical/ui/verify/DoubleVerifyActivityHelp.java

@@ -75,7 +75,7 @@ public class DoubleVerifyActivityHelp {
                     List<String> doorIdList = new ArrayList<>();
                     if (null != planAddDataDoorList && !planAddDataDoorList.isEmpty()) {
                         for (int i = 0; i < planAddDataDoorList.size(); i++) {
-                            doorIdList.add(String.valueOf(planAddDataDoorList.get(i).getDoorId()));
+                            doorIdList.add(String.valueOf(planAddDataDoorList.get(i).getDoorUniqueId()));
                         }
                     }
                     ThreadUtils.executeByCached(new ThreadUtils.SimpleTask<UserValidationBean>() {
@@ -117,6 +117,7 @@ public class DoubleVerifyActivityHelp {
     }
 
     private void verifyProcess(UserValidationBean userValidation) {
+        LogUtils.json(userValidation);
         // 是否是 全部柜门管理员、安全员、实验室负责人
         boolean isAdmin = Boolean.TRUE.equals(userValidation.getSafeUser()) || Boolean.TRUE.equals(userValidation.getAdminUser()) || Boolean.TRUE.equals(userValidation.getCabinetAdmin());
         Triple<Boolean, Boolean, Long> first = activity.doubleVerifyList.get(0);
@@ -197,6 +198,8 @@ public class DoubleVerifyActivityHelp {
                             public void detect(DetectType type, Bitmap faceBitmap, UserValidationBean userValidationBean) {
                                 binding.include1LL.removeAllViewsInLayout();
                                 ImageView imageView = new ImageView(activity);
+                                imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
+                                imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                                 imageView.setImageBitmap(faceBitmap);
                                 binding.include1LL.addView(imageView);
                                 binding.hint1IV.setText("登录人验证已通过");
@@ -216,6 +219,8 @@ public class DoubleVerifyActivityHelp {
                     break;
                 case CARD_DETECT:
                     ImageView imageView = new ImageView(activity);
+                    imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
+                    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                     imageView.setBackgroundResource(R.mipmap.img_sfrz_sksyt);
                     binding.include1LL.addView(imageView);
                     AudioPlayer.getInstance().play(R.raw.diyiwei_shua_ka_renzheng);
@@ -261,6 +266,8 @@ public class DoubleVerifyActivityHelp {
                             public void detect(DetectType type, Bitmap faceBitmap, UserValidationBean userValidationBean) {
                                 binding.include2LL.removeAllViewsInLayout();
                                 ImageView imageView = new ImageView(activity);
+                                imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
+                                imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                                 imageView.setImageBitmap(faceBitmap);
                                 binding.include2LL.addView(imageView);
                                 binding.hint2IV.setText("第二位验证已通过");

+ 4 - 0
app/src/main/java/com/example/chemical/ui/verify/ScanCodeTwoActivity.kt

@@ -556,6 +556,10 @@ class ScanCodeTwoActivity : BaseCountDownActivity<ActivityScanCodeTwoBinding>()
         }
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     /**
      * 0  没有图标 1 绿色(成功)   2红色(失败)
      *   失败或者成功的弹框

+ 4 - 0
app/src/main/java/com/example/chemical/ui/verify/SwipeCodeTwoActivity.kt

@@ -180,6 +180,10 @@ class SwipeCodeTwoActivity : BaseCountDownActivity<ActivitySwipeCodeTwoBinding>(
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private val mPortScanHelper by lazy {
         PortScanHelper(this, object : OnSerialScanListener {
             override fun dispatchScanEvent(type: OnSerialScanListener.ScanType, content: String) {

+ 4 - 0
app/src/main/java/com/example/chemical/ui/verify/TwoPersonActivity.kt

@@ -228,6 +228,10 @@ class TwoPersonActivity : BaseCountDownActivity<ActivityTwoPersonBinding>() {
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
 
     private fun callFaceMatchingApi(
         featureData: File,

+ 7 - 0
app/src/main/java/com/example/chemical/ui/verify/TwoVerificationActivity.kt

@@ -265,6 +265,10 @@ class TwoVerificationActivity : BaseCountDownActivity<ActivityTwoVerificationBin
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     //语音提示
     private val task = Runnable {
         if (mVoiceCount == 6) {
@@ -1056,6 +1060,7 @@ class TwoVerificationActivity : BaseCountDownActivity<ActivityTwoVerificationBin
     private fun replaceOnes() {
         //第一个人 人脸
         TextViewDebouncer.setDebouncedOnClickListener(viewBinding.face, 1000L) {
+            mUIDelegate.clearDisposable()
             mVerOne = 1
             closeOneMission()
             mFotoapparat.stop()
@@ -1081,6 +1086,7 @@ class TwoVerificationActivity : BaseCountDownActivity<ActivityTwoVerificationBin
 
         //刷卡
         TextViewDebouncer.setDebouncedOnClickListener(viewBinding.campus, 1000L) {
+            mUIDelegate.clearDisposable()
             mVerOne = 2
             closeOneMission()
             mHandleScanEvent = false
@@ -1104,6 +1110,7 @@ class TwoVerificationActivity : BaseCountDownActivity<ActivityTwoVerificationBin
 
         //扫码
         TextViewDebouncer.setDebouncedOnClickListener(viewBinding.scan, 1000L) {
+            mUIDelegate.clearDisposable()
             closeOneMission()
             mHandleScanEvent = true
             mVerOne = 3

+ 4 - 0
app/src/main/java/com/example/chemical/ui/warehousing/ChemicalLabelingActivity.kt

@@ -349,6 +349,10 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     override fun onResume() {
         super.onResume()
         try {

+ 4 - 0
app/src/main/java/com/example/chemical/ui/warehousing/ElectronicLedgerActivity.kt

@@ -95,6 +95,10 @@ class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerB
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     override fun onDestroy() {
         super.onDestroy()
         try {

+ 4 - 0
app/src/main/java/com/example/chemical/ui/warehousing/WarehousingActivity.kt

@@ -374,6 +374,10 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
         finish()
     }
 
+    override fun cdTime(cd: Int) {
+        viewBinding.tvReturn.text = "返回${cd}s"
+    }
+
     private fun initAdapter() {
         //入库列表信息
         viewBinding.rvInventory?.layoutManager = LinearLayoutManager(this)

+ 4 - 0
app/src/main/java/com/example/chemical/utils/bluetooth/BluetoothTool.java

@@ -11,6 +11,7 @@ import android.util.Log;
 import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.Utils;
 import com.example.chemical.utils.Tool;
+import com.kongzue.dialogx.dialogs.PopTip;
 
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
@@ -43,6 +44,7 @@ public enum BluetoothTool {
         }
         bluetoothDevice = getWeighDevice();
         if (null == bluetoothDevice) {
+            bluetoothCallBack.connectFailed("未找到蓝牙称");
             return;
         }
         try {
@@ -88,6 +90,8 @@ public enum BluetoothTool {
 
     public interface BluetoothCallBack {
         void callBack(String weight);
+
+        void connectFailed(String msg);
     }
 
     @SuppressLint("MissingPermission")

+ 0 - 1
app/src/main/java/com/example/chemical/weidith/BelongingPersonDialog.kt

@@ -86,7 +86,6 @@ class BelongingPersonDialog(
 
                 val countDown = Constants.OFFTIME_TIME - mCounter
 
-                Log.d("======返回时间", "$countDown")
                 if (countDown <= 0) {
                     dismiss()
                 } else {

+ 38 - 17
app/src/main/java/com/example/chemical/weidith/BluetoothWeighDialog.java

@@ -9,6 +9,7 @@ import android.view.Gravity;
 import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
+import android.widget.Toast;
 
 import androidx.appcompat.app.AppCompatDialog;
 
@@ -36,11 +37,13 @@ public class BluetoothWeighDialog extends AppCompatDialog {
     private DialogBluetoothWeighBinding binding;
     private final AddActivity addActivity;
     private final HxpChemicalVo hxpChemicalVo;
+    private DialogCallBack dialogCallBack;
 
-    public BluetoothWeighDialog(AddActivity addActivity, HxpChemicalVo hxpChemicalVo) {
+    public BluetoothWeighDialog(AddActivity addActivity, HxpChemicalVo hxpChemicalVo, DialogCallBack dialogCallBack) {
         super(addActivity);
         this.addActivity = addActivity;
         this.hxpChemicalVo = hxpChemicalVo;
+        this.dialogCallBack = dialogCallBack;
     }
 
     @Override
@@ -123,10 +126,9 @@ public class BluetoothWeighDialog extends AppCompatDialog {
                     WaitDialog.dismiss();
                     if ("ok".equals(result)) {
                         hxpChemicalVo.setJoinType(1);
-                        dismiss();
+                        dialogCallBack.confirm(BluetoothWeighDialog.this);
                     } else if (null == result || result.isEmpty()) {
-                        PopTip.show("系统异常!");
-                        dismiss();
+                        dialogCallBack.cancel(BluetoothWeighDialog.this, "称重失败,系统异常!");
                     } else {
                         PopTip.show(result);
                     }
@@ -147,19 +149,7 @@ public class BluetoothWeighDialog extends AppCompatDialog {
     ThreadUtils.SimpleTask<Object> weightTask = new ThreadUtils.SimpleTask<Object>() {
         @Override
         public Object doInBackground() throws Throwable {
-            BluetoothTool.INSTANCE.connect(weight -> {
-                hxpChemicalVo.setWeigh(Double.parseDouble(weight));
-                ThreadUtils.runOnUiThread(() -> {
-                    binding.weighTV.setText(weight + "g");
-                    if (binding.weightRL.getVisibility() != View.VISIBLE) {
-                        binding.weightRL.setVisibility(View.VISIBLE);
-                    }
-                    if (binding.loadingLAV.getVisibility() == View.VISIBLE) {
-                        binding.loadingLAV.cancelAnimation();
-                        binding.loadingLAV.setVisibility(View.GONE);
-                    }
-                });
-            });
+            BluetoothTool.INSTANCE.connect(bluetoothCallBack);
             return null;
         }
 
@@ -168,4 +158,35 @@ public class BluetoothWeighDialog extends AppCompatDialog {
 
         }
     };
+
+    public interface DialogCallBack {
+        // 成功
+        void confirm(BluetoothWeighDialog bluetoothWeighDialog);
+
+        // 取消
+        void cancel(BluetoothWeighDialog bluetoothWeighDialog, String msg);
+    }
+
+    BluetoothTool.BluetoothCallBack bluetoothCallBack = new BluetoothTool.BluetoothCallBack() {
+        @Override
+        public void callBack(String weight) {
+            LogUtils.d(weight);
+            hxpChemicalVo.setWeigh(Double.parseDouble(weight));
+            ThreadUtils.runOnUiThread(() -> {
+                binding.weighTV.setText(weight + "g");
+                if (binding.weightRL.getVisibility() != View.VISIBLE) {
+                    binding.weightRL.setVisibility(View.VISIBLE);
+                }
+                if (binding.loadingLAV.getVisibility() == View.VISIBLE) {
+                    binding.loadingLAV.cancelAnimation();
+                    binding.loadingLAV.setVisibility(View.GONE);
+                }
+            });
+        }
+
+        @Override
+        public void connectFailed(String msg) {
+            dialogCallBack.cancel(BluetoothWeighDialog.this, msg);
+        }
+    };
 }

+ 3 - 1
app/src/main/java/com/example/chemical/weidith/CabinetOpenDialog.kt

@@ -87,7 +87,7 @@ class CabinetOpenDialog(
 
                 val countDown = Constants.OFFTIME_TIME - mCounter
                 Log.d("======返回时间", "$countDown")
-                if (countDown <= 0) {
+                if (countDown <= 0 && isShowing) {
                     dismiss()
                 } else {
                     sendEmptyMessageDelayed(Constants.WHAT_COUNT_DOWN_TWO, 1000)
@@ -104,9 +104,11 @@ class CabinetOpenDialog(
                 // 用户按下屏幕时的处理逻辑
                 onUserInteraction()
             }
+
             MotionEvent.ACTION_MOVE -> {
                 // 用户在屏幕上移动手指时的处理逻辑
             }
+
             MotionEvent.ACTION_UP -> {
                 // 用户抬起手指时的处理逻辑
             }

+ 0 - 1
app/src/main/java/com/example/chemical/weidith/DcaeDialog.kt

@@ -80,7 +80,6 @@ class DcaeDialog(
 
                 val countDown = Constants.OFFTIME_TIME - mCounter
 
-                Log.d("======返回时间", "$countDown")
                 if (countDown <= 0) {
                     dismiss()
                 } else {

+ 9 - 1
app/src/main/res/layout/activity_main.xml

@@ -109,6 +109,7 @@
                     android:layout_gravity="center"
                     android:textColor="@color/white"
                     android:textSize="12sp"
+                    android:visibility="gone"
                     tools:text="版本号:xxxxxxxxxx" />
 
             </LinearLayout>
@@ -160,7 +161,7 @@
                         <TextView
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
-                            android:text="New storage"
+                            android:text="Storage"
                             android:textColor="@color/white"
                             android:textSize="14sp"
                             android:textStyle="bold" />
@@ -308,6 +309,13 @@
                     android:layout_marginLeft="@dimen/dp_10"
                     android:background="@mipmap/img_bg_xz">
 
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_centerVertical="true"
+                        android:layout_marginLeft="45dp"
+                        android:background="@mipmap/icon_sy_cx" />
+
                     <LinearLayout
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"

+ 1 - 0
app/src/main/res/layout/activity_save_list.xml

@@ -149,4 +149,5 @@
         android:text="结束"
         android:textColor="@color/white"
         android:textSize="10sp" />
+
 </RelativeLayout>

+ 11 - 0
app/src/main/res/layout/activity_unlock.xml

@@ -381,4 +381,15 @@
 
     </RelativeLayout>
 
+    <Button
+        android:id="@+id/exit"
+        android:layout_width="85dp"
+        android:layout_height="30dp"
+        android:layout_alignParentRight="true"
+        android:layout_alignParentBottom="true"
+        android:layout_marginBottom="20dp"
+        android:background="@drawable/bg_retrun_two"
+        android:text="结束"
+        android:textColor="@color/white"
+        android:textSize="10sp" />
 </RelativeLayout>

+ 1 - 1
config/config.gradle

@@ -10,7 +10,7 @@ ext {
             targetSdkVersion : 28,
             applicationId    : "com.zhong.che",
             versionCode      : 20,
-            versionName      : "1.31"
+            versionName      : "1.32"
     ]
 
     test = [