Kaynağa Gözat

配合测试完成BUG修复

JaycePC 1 ay önce
ebeveyn
işleme
7fabb6983b
41 değiştirilmiş dosya ile 2357 ekleme ve 3022 silme
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. 2 5
      app/src/main/java/com/rc/core/ui/common/UIDelegateImpl.kt
  3. 0 1
      app/src/main/java/com/rc/httpcore/interceptor/ParameterValidationInterceptor.kt
  4. 0 64
      app/src/main/java/xn/hxp/blu/BluetoothConnectionManager.kt
  5. 0 124
      app/src/main/java/xn/hxp/blu/BluetoothHelper.kt
  6. 0 10
      app/src/main/java/xn/hxp/blu/bean/IBluetoothCallback.kt
  7. 8 9
      app/src/main/java/xn/hxp/ui/MainActivity.kt
  8. 2 1
      app/src/main/java/xn/hxp/ui/SettingActivity.kt
  9. 3 0
      app/src/main/java/xn/hxp/ui/adapter/WarningEventsAdapter.kt
  10. 17 23
      app/src/main/java/xn/hxp/ui/common/BaseCountDownActivity.java
  11. 4 0
      app/src/main/java/xn/hxp/ui/discard/ChecklistsActivity.kt
  12. 1 6
      app/src/main/java/xn/hxp/ui/discard/LedgerActivity.kt
  13. 1 6
      app/src/main/java/xn/hxp/ui/discard/WasteChemicalsActivity.kt
  14. 1 6
      app/src/main/java/xn/hxp/ui/inquiry/InquiryActivity.kt
  15. 3 12
      app/src/main/java/xn/hxp/ui/login/FacialCardActivity.kt
  16. 4 12
      app/src/main/java/xn/hxp/ui/login/FacialLoginActivity.kt
  17. 24 27
      app/src/main/java/xn/hxp/ui/login/ScanLoginActivity.kt
  18. 6 14
      app/src/main/java/xn/hxp/ui/login/SwipeActivity.kt
  19. 1876 1881
      app/src/main/java/xn/hxp/ui/newly/AddedChemicalsActivity.kt
  20. 24 26
      app/src/main/java/xn/hxp/ui/plan/PlanAddActivity.java
  21. 3 1
      app/src/main/java/xn/hxp/ui/plan/PlanAddActivityHelp.java
  22. 6 7
      app/src/main/java/xn/hxp/ui/plan/add/AddActivity.java
  23. 32 26
      app/src/main/java/xn/hxp/ui/plan/change/ChangeCabinetActivity.java
  24. 7 6
      app/src/main/java/xn/hxp/ui/plan/save_list/SaveListActivity.java
  25. 8 10
      app/src/main/java/xn/hxp/ui/plan/unlock/UnlockActivity.java
  26. 49 190
      app/src/main/java/xn/hxp/ui/still/ChemicalsAlsoActivity.kt
  27. 26 0
      app/src/main/java/xn/hxp/ui/uses/ProcessedActivity.kt
  28. 35 80
      app/src/main/java/xn/hxp/ui/uses/UseActivity.kt
  29. 1 6
      app/src/main/java/xn/hxp/ui/uses/WarningEventsActivity.kt
  30. 16 99
      app/src/main/java/xn/hxp/ui/warehousing/ChemicalLabelingActivity.kt
  31. 5 56
      app/src/main/java/xn/hxp/ui/warehousing/ElectronicLedgerActivity.kt
  32. 50 162
      app/src/main/java/xn/hxp/ui/warehousing/WarehousingActivity.kt
  33. 71 0
      app/src/main/java/xn/hxp/utils/PrintTool.java
  34. 6 44
      app/src/main/java/xn/hxp/utils/UiManager.kt
  35. 21 21
      app/src/main/java/xn/hxp/weidith/UsageLabelDialog.kt
  36. 8 36
      app/src/main/java/xn/hxp/weidith/prin_label_dialog/PrintLabelDialog.java
  37. 11 4
      app/src/main/res/layout/activity_chemicals_also.xml
  38. 1 1
      app/src/main/res/layout/item_warning_notice.xml
  39. 0 21
      gradle/libs.versions.toml
  40. 12 12
      serialport/.cxx/Debug/6e5q1f5t/arm64-v8a/configure_fingerprint.bin
  41. 12 12
      serialport/.cxx/Debug/6e5q1f5t/x86/configure_fingerprint.bin

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -254,7 +254,7 @@
         <activity
             android:name=".ui.SplashActivity"
             android:exported="true"
-            android:launchMode="singleTop"
+            android:launchMode="singleTask"
             android:screenOrientation="landscape">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />

+ 2 - 5
app/src/main/java/com/rc/core/ui/common/UIDelegateImpl.kt

@@ -1,15 +1,12 @@
 package com.rc.core.ui.common
 
 import android.content.Context
-import android.view.View
-import android.widget.TextView
+import android.widget.Toast
 import androidx.core.content.ContextCompat
 import androidx.recyclerview.widget.DividerItemDecoration
 import androidx.recyclerview.widget.RecyclerView
 import com.kongzue.dialogx.DialogX
-import com.kongzue.dialogx.dialogs.PopTip
 import com.kongzue.dialogx.dialogs.WaitDialog
-import com.kongzue.dialogx.interfaces.OnBindView
 import com.rc.core.ui.widget.decoration.NoLastLineItemDecoration
 import com.rc.httpcore.exception.NetException
 import io.reactivex.rxjava3.disposables.CompositeDisposable
@@ -42,7 +39,7 @@ class UIDelegateImpl : AbsUIDelegate() {
 
     override fun showToast(context: Context?, message: String) {
         context?.let {
-            PopTip.show(message)
+            Toast.makeText(context, message, Toast.LENGTH_SHORT).show()
         }
     }
 

+ 0 - 1
app/src/main/java/com/rc/httpcore/interceptor/ParameterValidationInterceptor.kt

@@ -27,7 +27,6 @@ class ParameterValidationInterceptor : Interceptor {
         // 读取响应体
         val responseBody = response.body
         val responseBodyString = responseBody?.string() ?: ""
-        LogUtils.d("到这里")
         LogUtils.d(response.toString(), responseBodyString)
         // 创建一个新的响应体,以便返回
         return response.newBuilder()

+ 0 - 64
app/src/main/java/xn/hxp/blu/BluetoothConnectionManager.kt

@@ -1,64 +0,0 @@
-package xn.hxp.blu
-
-import android.bluetooth.BluetoothAdapter
-import android.bluetooth.BluetoothDevice
-import android.bluetooth.BluetoothSocket
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.withContext
-import java.io.IOException
-import java.util.*
-
-object BluetoothConnectionManager {
-    private val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
-    private val uuid: UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB") // SPP UUID
-    private const val connectionTimeoutMillis: Long = 3000 // 连接超时时间3秒钟
-//    suspend fun getDeviceAddress(deviceName: String): String? {
-    suspend fun getDeviceAddress(): String? {
-        return withContext(Dispatchers.IO) {
-            val pairedDevices: Set<BluetoothDevice>? = bluetoothAdapter?.bondedDevices
-//            pairedDevices?.find { it.name == deviceName }?.address
-            pairedDevices?.find { it.name == "HF-18" }?.address
-        }
-    }
-
-
-    suspend fun connectToDevice(deviceAddress: String): BluetoothSocket? {
-        val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
-        val device: BluetoothDevice? = bluetoothAdapter?.getRemoteDevice(deviceAddress)
-
-        return withContext(Dispatchers.IO) {
-            var socket: BluetoothSocket? = null
-            val thread = Thread {
-                try {
-                    socket = device?.createRfcommSocketToServiceRecord(uuid)
-                    socket?.connect()
-                } catch (e: IOException) {
-                    e.printStackTrace()
-                    try {
-                        socket?.close()
-                    } catch (closeException: IOException) {
-                        closeException.printStackTrace()
-                    }
-                    socket = null
-                }
-            }
-
-            thread.start()
-            try {
-                thread.join(connectionTimeoutMillis)
-            } catch (e: InterruptedException) {
-                e.printStackTrace()
-            }
-
-            if (thread.isAlive) {
-                socket?.close()
-                thread.interrupt()
-                socket = null
-            }
-
-            socket  // 返回连接成功或为null(失败或超时)
-        }
-    }
-
-
-}

+ 0 - 124
app/src/main/java/xn/hxp/blu/BluetoothHelper.kt

@@ -1,124 +0,0 @@
-package xn.hxp.blu
-
-import android.bluetooth.BluetoothAdapter
-import android.bluetooth.BluetoothDevice
-import android.bluetooth.BluetoothSocket
-import android.content.Context
-import android.os.Handler
-import android.widget.Toast
-import com.blankj.utilcode.util.LogUtils
-import xn.hxp.blu.bean.IBluetoothCallback
-import com.rc.core.util.Weak
-import java.io.IOException
-import java.io.InputStream
-import java.io.PrintWriter
-import java.util.UUID
-
-
-/**
- * 蓝牙连接
- */
-class BluetoothHelper(
-    context: Context,
-    private val iBluetoothCallback: IBluetoothCallback? = null,
-) {
-    private val mContext: Context? by Weak { context }
-    private var mBluetoothAdapter: BluetoothAdapter? = null
-    private var device: BluetoothDevice? = null
-    val UUIDString = "00001101-0000-1000-8000-00805F9B34FB"
-    private var mSocket: BluetoothSocket? = null
-    private val lock = Any()
-    private var mInputBluetooth: InputStream? = null
-    private var out: PrintWriter? = null
-    private val mHandler: Handler? = Handler()
-    private var gotoLoginAct: Runnable? = null
-    private var mAddress: String? = null
-
-    fun onResume() {
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter()
-        //判断蓝牙设备是否已开起
-        if (!mBluetoothAdapter!!.isEnabled) {
-            LogUtils.i("=========不支持蓝牙")
-            iBluetoothCallback?.onIsConnected("蓝牙未开启")
-            return
-        }
-        iBluetoothCallback?.onReStart()
-        val devices = mBluetoothAdapter!!.bondedDevices
-        val iterator: Iterator<BluetoothDevice> = devices.iterator()
-        while (iterator.hasNext()) {
-            device = iterator.next()
-        }
-        val name = device?.name
-        LogUtils.i("=========蓝牙已配置参数name$name")
-//        if (name != null && name == "RS001") {
-        if (name != null && name == "HF-18") {
-//        if (name != null && name == "RS-001-BLE") {
-            mAddress = device?.address
-            LogUtils.i("=========蓝牙已配置参数$mAddress")
-            val remoteDevice = mBluetoothAdapter!!.getRemoteDevice(mAddress)
-            try {
-                mSocket =
-                    remoteDevice.createRfcommSocketToServiceRecord(UUID.fromString(UUIDString))
-                connect()
-            } catch (e: Exception) {
-                mSocket = null
-                onCloses()
-                Toast.makeText(mContext, "蓝牙1连接异常", Toast.LENGTH_SHORT).show()
-            }
-        } else {
-            mSocket = null
-            onCloses()
-            iBluetoothCallback?.onIsConnected("蓝牙秤1连接失败$name")
-        }
-
-    }
-
-
-    private fun connect() {
-
-        gotoLoginAct = object : Runnable {
-            override fun run() {
-                try {
-                    synchronized(lock) {
-//                        if (mSocket!!.isConnected) {
-//                            onCloses()
-//                            iBluetoothCallback?.onIsConnected("蓝牙2秤连接失败")
-//                            return
-//                        } else {
-//                            mSocket!!.connect() // 会阻塞线程,建议在子线程中进行
-//                            iBluetoothCallback?.onBluetoothSocketBean(mSocket!!)
-//                        }
-                        mSocket!!.connect() // 会阻塞线程,建议在子线程中进行
-//                        Thread.sleep(2000)
-                        if (mSocket!!.isConnected) {
-                            // 连接成功处理逻辑
-                            iBluetoothCallback?.onBluetoothSocketBean(mSocket!!)
-                        } else {
-                            onCloses()
-                            iBluetoothCallback?.onIsConnected("蓝牙秤连接失败")
-                        }
-                    }
-                } catch (e: IOException) {
-                    mSocket = null
-                    mHandler!!.removeCallbacks(gotoLoginAct!!) //停止线程
-                    mHandler!!.removeCallbacksAndMessages(null)
-                    iBluetoothCallback?.onConnectError()
-                    e.printStackTrace()
-                    LogUtils.i("=========蓝牙3连接异常$e")
-                }
-            }
-        }
-        mHandler?.postDelayed(gotoLoginAct!!, 100)
-
-    }
-
-    //关闭所有资源
-    fun onCloses() {
-        if (mSocket != null) {
-            mSocket!!.close()
-            mHandler!!.removeCallbacks(gotoLoginAct!!) //停止线程
-            mHandler!!.removeCallbacksAndMessages(null)
-        }
-
-    }
-}

+ 0 - 10
app/src/main/java/xn/hxp/blu/bean/IBluetoothCallback.kt

@@ -1,10 +0,0 @@
-package xn.hxp.blu.bean
-
-import android.bluetooth.BluetoothSocket
-
-interface IBluetoothCallback {
-    fun onReStart()  //开始连接
-    fun onIsConnected(msg:String)//连接失败
-    fun onConnectError()//连接异常
-    fun onBluetoothSocketBean(sockets: BluetoothSocket)
-}

+ 8 - 9
app/src/main/java/xn/hxp/ui/MainActivity.kt

@@ -17,6 +17,7 @@ import android.view.View
 import android.widget.EditText
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
+import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.AppUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
@@ -54,6 +55,7 @@ import com.rc.httpcore.client.ApiRepository
 import com.rc.httpcore.exception.NetException
 import retrofit2.HttpException
 import xn.hxp.receiver.TimeTickReceiver
+import xn.hxp.utils.PrintTool
 import java.net.ConnectException
 import java.net.SocketTimeoutException
 
@@ -111,6 +113,8 @@ class MainActivity : RcBaseActivity<ActivityMainBinding>() {
         }
 
         timeUpdater.startUpdating()
+
+        getCabinetIn()
     }
 
     var timeTickReceiver: TimeTickReceiver = TimeTickReceiver()
@@ -118,12 +122,11 @@ class MainActivity : RcBaseActivity<ActivityMainBinding>() {
     //必须在创建时注册信息
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-
+        PrintTool.INSTANCE
         // 监听分钟广播
         registerReceiver(timeTickReceiver, IntentFilter(Intent.ACTION_TIME_TICK))
 
 
-//        hPrints = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
         //注册广播
 //        EventBus.getDefault().register(this)
         viewBinding.versionName.text = "版本号:${AppUtils.getAppVersionName()}"
@@ -355,9 +358,9 @@ class MainActivity : RcBaseActivity<ActivityMainBinding>() {
             ChemicalApp.userData = null
 //            ChemicalApp.subjectId = null
             HttpClient.token = null
-            UiManager.switcherCashier(this, SplashActivity::class.java)
+            ActivityUtils.startActivity(SplashActivity::class.java)
+            LogUtils.d(ActivityUtils.getActivityList())
         }
-        getCabinetIn()
     }
 
     /**
@@ -735,17 +738,13 @@ class MainActivity : RcBaseActivity<ActivityMainBinding>() {
         override fun handleMessage(msg: Message) {
             if (WHAT_COUNT_DOWN == msg.what) {
                 val countDown = MAX_TIME - mCounter
-                Log.d("======返回首页时间", "${countDown}")
                 if (isDestroyed) return
                 if (countDown <= 0) {
                     ChemicalApp.confs = null
                     ChemicalApp.subjectId = null
                     ChemicalApp.userData = null
                     callLogoutApis {
-                        UiManager.switcherCashier(
-                            this@MainActivity,
-                            SplashActivity::class.java
-                        )
+                        ActivityUtils.startActivity(SplashActivity::class.java)
                     }
                 } else {
                     sendEmptyMessageDelayed(WHAT_COUNT_DOWN, 1000)

+ 2 - 1
app/src/main/java/xn/hxp/ui/SettingActivity.kt

@@ -5,6 +5,7 @@ import android.content.Intent
 import android.os.Bundle
 import android.provider.Settings
 import android.view.LayoutInflater
+import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.GsonUtils
 import xn.hxp.comm.Constants
 import xn.hxp.databinding.ActivitySettingBinding
@@ -59,7 +60,7 @@ class SettingActivity : RcBaseActivity<ActivitySettingBinding>() {
             val settingsBean = SettingsBean(a, b, c, "$d", e)
             LogUtils.i("======本地数据 $d")
             SharedPreferencesHelper.saveUrlBase(this, settingsBean)
-            UiManager.switcherCashier(this, SplashActivity::class.java)
+            ActivityUtils.startActivity(SplashActivity::class.java)
             finish()
         }
 

+ 3 - 0
app/src/main/java/xn/hxp/ui/adapter/WarningEventsAdapter.kt

@@ -1,6 +1,7 @@
 package xn.hxp.ui.adapter
 
 import android.content.Context
+import android.graphics.Color
 import android.widget.TextView
 import androidx.core.content.ContextCompat
 import com.chad.library.adapter.base.BaseQuickAdapter
@@ -35,6 +36,7 @@ class WarningEventsAdapter(private var ct: Context) :
                 if (item.isHandlePeople) {
 //                    noView.setTextColor(ContextCompat.getColor(ct, R.color.purple_FFFF8C11))
                     holder.setText(R.id.operate, "处理")
+                    holder.setTextColor(R.id.operate, Color.parseColor("#FFFF8C11"))
                     item.solve = false
                 } else {
 //                    noView.setTextColor(ContextCompat.getColor(ct, R.color.black))
@@ -49,6 +51,7 @@ class WarningEventsAdapter(private var ct: Context) :
                 holder.setText(R.id.operate, "详情")
                 item.solve = false
             }
+
             else -> {
 //                noView.text = "待处理"
 //                noView.setTextColor(ContextCompat.getColor(ct, R.color.black))

+ 17 - 23
app/src/main/java/xn/hxp/ui/common/BaseCountDownActivity.java

@@ -1,27 +1,23 @@
 package xn.hxp.ui.common;
 
-import static com.kongzue.dialogx.DialogX.cancelable;
-
 import android.os.Bundle;
 import android.os.CountDownTimer;
-import android.view.View;
-import android.widget.TextView;
 
 import androidx.annotation.Nullable;
 import androidx.viewbinding.ViewBinding;
 
+import com.blankj.utilcode.util.ActivityUtils;
+import com.blankj.utilcode.util.LogUtils;
+import com.kongzue.dialogx.dialogs.PopTip;
 import com.kongzue.dialogx.dialogs.WaitDialog;
-import com.kongzue.dialogx.interfaces.OnBindView;
 import com.rc.core.ui.activity.RcBaseActivity;
+import com.rc.httpcore.HttpClient;
 import com.rc.httpcore.bean.ConfigBean;
 import com.rc.httpcore.client.ApiRepository;
 
-import io.reactivex.rxjava3.functions.Consumer;
-import xn.hxp.R;
 import xn.hxp.app.ChemicalApp;
 import xn.hxp.comm.Constants;
-import xn.hxp.ui.MainActivity;
-import xn.hxp.utils.UiManager;
+import xn.hxp.ui.SplashActivity;
 
 public abstract class BaseCountDownActivity<VB extends ViewBinding> extends RcBaseActivity<VB> {
 
@@ -66,7 +62,8 @@ public abstract class BaseCountDownActivity<VB extends ViewBinding> extends RcBa
         if (Constants.INSTANCE.getVIEW_TYPE()) {
             cdFinish();
         } else {
-            UiManager.INSTANCE.switcher(BaseCountDownActivity.this, MainActivity.class);
+            ActivityUtils.startActivity(SplashActivity.class);
+            LogUtils.d(ActivityUtils.getActivityList());
         }
     }
 
@@ -141,20 +138,17 @@ public abstract class BaseCountDownActivity<VB extends ViewBinding> extends RcBa
         }
     }
 
-    protected void callLogoutApi(Consumer<Boolean> unit) {
+    protected void callLogoutApi() {
         WaitDialog.show("退出中...");
-        addDisposable(ApiRepository.INSTANCE.loginOut().subscribe(new Consumer<Boolean>() {
-            @Override
-            public void accept(Boolean aBoolean) throws Throwable {
-                WaitDialog.dismiss();
-                unit.accept(true);
-            }
-        }, new Consumer<Throwable>() {
-            @Override
-            public void accept(Throwable throwable) throws Throwable {
-                WaitDialog.dismiss();
-                unit.accept(false);
-            }
+        addDisposable(ApiRepository.INSTANCE.loginOut().subscribe(aBoolean -> {
+            WaitDialog.dismiss();
+            ChemicalApp.userData = null;
+            ChemicalApp.subjectId = null;
+            HttpClient.INSTANCE.setToken(null);
+            ActivityUtils.startActivity(SplashActivity.class);
+        }, throwable -> {
+            WaitDialog.dismiss();
+            PopTip.show(throwable.getMessage());
         }));
     }
 }

+ 4 - 0
app/src/main/java/xn/hxp/ui/discard/ChecklistsActivity.kt

@@ -56,6 +56,10 @@ class ChecklistsActivity : BaseCountDownActivity<ActivityChecklistsBinding>() {
             }
         }
 
+        viewBinding.tvOutLogin.setOnClickListener {
+            callLogoutApi()
+        }
+
         viewBinding.butNext.setOnClickListener {
             //下一页
             if (mDataPage != 0) {

+ 1 - 6
app/src/main/java/xn/hxp/ui/discard/LedgerActivity.kt

@@ -39,12 +39,7 @@ class LedgerActivity : BaseCountDownActivity<ActivityLedgerBinding>() {
         fragmentInView()
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
 
         //返回

+ 1 - 6
app/src/main/java/xn/hxp/ui/discard/WasteChemicalsActivity.kt

@@ -76,12 +76,7 @@ class WasteChemicalsActivity : BaseCountDownActivity<ActivityWasteChemicalsBindi
         Constants.VIEW_TYPE = true
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                ChemicalApp.subjectId = null
-//                HttpClient.token = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
 
         viewBinding.tvReturn.setOnClickListener {

+ 1 - 6
app/src/main/java/xn/hxp/ui/inquiry/InquiryActivity.kt

@@ -78,12 +78,7 @@ class InquiryActivity : BaseCountDownActivity<ActivityInquiryBinding>() {
         //注册广播
         EventBus.getDefault().register(this)
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-//                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi ()
         }
 
         if (logIn == 1) {

+ 3 - 12
app/src/main/java/xn/hxp/ui/login/FacialCardActivity.kt

@@ -250,18 +250,9 @@ class FacialCardActivity : BaseCountDownActivity<ActivityFacialCardBinding>() {
         val disposable = ApiRepository.userCardValidation(userId, subId)
             .subscribe({ data ->
                 dismissLoading()
-                val allFalse = with(data) {
-                    cabinetAdmin == false &&
-                            belongUser == false &&
-                            toipcUser == false &&
-                            safeUser == false &&
-                            collegeAdmin == false &&
-                            schoolLevelAdmin == false &&
-                            adminUser == false
-                    apply == false &&
-                            white == false
-                }
-                if (allFalse) {
+                val allFalse =
+                    java.lang.Boolean.TRUE == data.cabinetAdmin || java.lang.Boolean.TRUE == data.belongUser || java.lang.Boolean.TRUE == data.toipcUser || java.lang.Boolean.TRUE == data.safeUser || java.lang.Boolean.TRUE == data.collegeAdmin || java.lang.Boolean.TRUE == data.schoolLevelAdmin || java.lang.Boolean.TRUE == data.adminUser || java.lang.Boolean.TRUE == data.apply || java.lang.Boolean.TRUE == data.white
+                if (!allFalse) {
                     HttpClient.token = null
                     ChemicalApp.userData = null
                     customDialogView(2, "身份验证不通过")

+ 4 - 12
app/src/main/java/xn/hxp/ui/login/FacialLoginActivity.kt

@@ -36,6 +36,7 @@ import xn.hxp.utils.UiManager
 import xn.hxp.weidith.AuthenticationDialog
 import xn.hxp.weidith.CustomDialog
 import java.io.File
+import java.lang.Boolean
 import java.net.ConnectException
 import java.net.SocketTimeoutException
 import java.text.SimpleDateFormat
@@ -241,18 +242,9 @@ class FacialLoginActivity : BaseCountDownActivity<ActivityFacialLoginBinding>()
         val disposable = ApiRepository.userCardValidation(userId, subId)
             .subscribe({ data ->
                 dismissLoading()
-                val allFalse = with(data) {
-                    cabinetAdmin == false &&
-                            belongUser == false &&
-                            toipcUser == false &&
-                            safeUser == false &&
-                            collegeAdmin == false &&
-                            schoolLevelAdmin == false &&
-                            adminUser == false
-                    apply == false &&
-                            white == false
-                }
-                if (allFalse) {
+                val allFalse =
+                    Boolean.TRUE == data.cabinetAdmin || Boolean.TRUE == data.belongUser || Boolean.TRUE == data.toipcUser || Boolean.TRUE == data.safeUser || Boolean.TRUE == data.collegeAdmin || Boolean.TRUE == data.schoolLevelAdmin || Boolean.TRUE == data.adminUser || Boolean.TRUE == data.apply || Boolean.TRUE == data.white
+                if (!allFalse) {
                     HttpClient.token = null
                     ChemicalApp.userData = null
                     customDialogView(2, "身份认证不通过")

+ 24 - 27
app/src/main/java/xn/hxp/ui/login/ScanLoginActivity.kt

@@ -10,32 +10,36 @@ import android.view.MotionEvent
 import android.view.View
 import android.widget.ImageView
 import android.widget.TextView
+import com.blankj.utilcode.util.LogUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
-import xn.hxp.app.ChemicalApp
-import xn.hxp.R
-import xn.hxp.databinding.ActivityScanLoginBinding
-import xn.hxp.ui.common.BaseCountDownActivity
-import xn.hxp.utils.MediaPlayerHelper
-import xn.hxp.utils.TimesUils
-import xn.hxp.utils.UiManager
-import xn.hxp.weidith.AuthenticationDialog
-import xn.hxp.weidith.CustomDialog
 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.blankj.utilcode.util.LogUtils
 import com.rc.httpcore.HttpClient
 import com.rc.httpcore.HttpConfig
 import com.rc.httpcore.client.ApiRepository
-import com.rc.httpcore.exception.NetException
-import retrofit2.HttpException
-import java.net.ConnectException
-import java.net.SocketTimeoutException
+import xn.hxp.R
+import xn.hxp.app.ChemicalApp
+import xn.hxp.databinding.ActivityScanLoginBinding
+import xn.hxp.ui.common.BaseCountDownActivity
+import xn.hxp.utils.MediaPlayerHelper
+import xn.hxp.utils.TimesUils
+import xn.hxp.utils.UiManager
+import xn.hxp.weidith.AuthenticationDialog
+import xn.hxp.weidith.CustomDialog
+import java.lang.Boolean
+import kotlin.Exception
+import kotlin.Int
+import kotlin.Long
+import kotlin.String
+import kotlin.Throwable
+import kotlin.Unit
+import kotlin.let
 
 //扫码登录
 class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
@@ -147,7 +151,6 @@ class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
             ApiRepository.getScanCode(mDeviceNum!!, currentDateTime, ChemicalApp.subjectId!!)
                 .subscribe({ data ->
                     dismissLoading()
-                    myHandler.stop()
                     ChemicalApp.userData = data
 //                    ChemicalApp!!.userData!!.cardNum = data.cardNum
                     authenticationInfo(data.userId, ChemicalApp.subjectId!!)
@@ -164,19 +167,12 @@ class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
         showLoading("验证中...")
         val disposable = ApiRepository.userCardValidation(userId, subId)
             .subscribe({ data ->
+                LogUtils.json(data)
                 dismissLoading()
-                val allFalse = with(data) {
-                    cabinetAdmin == false &&
-                            belongUser == false &&
-                            toipcUser == false &&
-                            safeUser == false &&
-                            collegeAdmin == false &&
-                            schoolLevelAdmin == false &&
-                            adminUser == false
-                    apply == false &&
-                            white == false
-                }
-                if (allFalse) {
+
+                val allFalse =
+                    Boolean.TRUE == data.cabinetAdmin || Boolean.TRUE == data.belongUser || Boolean.TRUE == data.toipcUser || Boolean.TRUE == data.safeUser || Boolean.TRUE == data.collegeAdmin || Boolean.TRUE == data.schoolLevelAdmin || Boolean.TRUE == data.adminUser || Boolean.TRUE == data.apply || Boolean.TRUE == data.white
+                if (!allFalse) {
                     HttpClient.token = null
                     ChemicalApp.userData = null
                     customDialogView(2, "当前身份不符合")
@@ -304,6 +300,7 @@ class ScanLoginActivity : BaseCountDownActivity<ActivityScanLoginBinding>() {
 
     //身份认证成功
     private fun authenticationDialog(faceImg: String?, userName: String) {
+        myHandler.stop()
         MediaPlayerHelper.playRawMp3(this, R.raw.login_ren_zheng_tong_hua)
         mDialogsAut = AuthenticationDialog(
             this,

+ 6 - 14
app/src/main/java/xn/hxp/ui/login/SwipeActivity.kt

@@ -10,6 +10,7 @@ import android.view.LayoutInflater
 import android.view.MotionEvent
 import android.view.View
 import android.widget.TextView
+import com.blankj.utilcode.util.ActivityUtils
 import com.blankj.utilcode.util.LogUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
@@ -55,7 +56,7 @@ class SwipeActivity : BaseCountDownActivity<ActivitySwipeBinding>() {
         EventBus.getDefault().register(this)
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvReturn.setOnClickListener {
-            UiManager.switcherCashier(this, MainActivity::class.java)
+            ActivityUtils.finishToActivity(MainActivity::class.java, true)
         }
 
         val stringExtra = intent.getStringExtra("mtypes")
@@ -165,18 +166,9 @@ class SwipeActivity : BaseCountDownActivity<ActivitySwipeBinding>() {
                 ChemicalApp.userData!!.userValidationBean = data
                 dismissLoading()
                 LogUtils.json(data)
-                val allFalse = with(data) {
-                    cabinetAdmin == false &&
-                            belongUser == false &&
-                            toipcUser == false &&
-                            safeUser == false &&
-                            collegeAdmin == false &&
-                            schoolLevelAdmin == false &&
-                            adminUser == false &&
-                            apply == false &&
-                            white == false
-                }
-                if (allFalse) {
+                val allFalse =
+                    java.lang.Boolean.TRUE == data.cabinetAdmin || java.lang.Boolean.TRUE == data.belongUser || java.lang.Boolean.TRUE == data.toipcUser || java.lang.Boolean.TRUE == data.safeUser || java.lang.Boolean.TRUE == data.collegeAdmin || java.lang.Boolean.TRUE == data.schoolLevelAdmin || java.lang.Boolean.TRUE == data.adminUser || java.lang.Boolean.TRUE == data.apply || java.lang.Boolean.TRUE == data.white
+                if (!allFalse) {
                     HttpClient.token = null
                     ChemicalApp.userData = null
                     customDialogView(2, "当前身份不符合")
@@ -252,7 +244,7 @@ class SwipeActivity : BaseCountDownActivity<ActivitySwipeBinding>() {
 
     override fun onBackPressed() {
         super.onBackPressed()
-        UiManager.switcherCashier(this, MainActivity::class.java)
+        ActivityUtils.finishToActivity(MainActivity::class.java, true)
     }
 
     override fun cdTime(cd: Int) {

Dosya farkı çok büyük olduğundan ihmal edildi
+ 1876 - 1881
app/src/main/java/xn/hxp/ui/newly/AddedChemicalsActivity.kt


+ 24 - 26
app/src/main/java/xn/hxp/ui/plan/PlanAddActivity.java

@@ -22,10 +22,19 @@ import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.ThreadUtils;
 import com.blankj.utilcode.util.TimeUtils;
 import com.bumptech.glide.Glide;
+import com.kongzue.dialogx.dialogs.PopTip;
+import com.rc.httpcore.HttpConfig;
+import com.rc.httpcore.bean.ChemicalInfoBean;
+
+import java.text.SimpleDateFormat;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+
 import xn.hxp.app.ChemicalApp;
 import xn.hxp.databinding.ActivityPlanAddBinding;
 import xn.hxp.receiver.PortScanHelper;
-import xn.hxp.ui.SplashActivity;
 import xn.hxp.ui.common.BaseCountDownActivity;
 import xn.hxp.ui.plan.add.AddActivity;
 import xn.hxp.ui.plan.locker.LockerAdapter;
@@ -42,17 +51,6 @@ import xn.hxp.ui.plan.room.dao.HxpLabDirectorDAO;
 import xn.hxp.ui.plan.room.dao.HxpLabSafeDAO;
 import xn.hxp.ui.plan.room.dao.HxpLayerDAO;
 import xn.hxp.ui.plan.unlock.UnlockActivity;
-import xn.hxp.utils.UiManager;
-import com.kongzue.dialogx.dialogs.PopTip;
-import com.rc.httpcore.HttpConfig;
-import com.rc.httpcore.bean.ChemicalInfoBean;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
 
 /**
  * 待录入页面
@@ -67,7 +65,7 @@ public class PlanAddActivity extends BaseCountDownActivity<ActivityPlanAddBindin
     // 服务端实验室所有柜子信息
     protected List<HxpCabinetVo> cabinetVoList;
     // 当前展示的待存储列表
-    protected List<InventoryItemBean> inventoryItemBeanList = new ArrayList<>();
+    protected List<InventoryItemBean> inventoryItemBeanList = new LinkedList<>();
     // 当前展示的待存储列表适配器
     protected PlanAdapter planAdapter;
     // 柜子DAO
@@ -257,11 +255,12 @@ public class PlanAddActivity extends BaseCountDownActivity<ActivityPlanAddBindin
             LogUtils.e(Log.getStackTraceString(e));
         }
         // 退出
-        binding.tvOutLogin.setOnClickListener(v -> callLogoutApi(aBoolean -> {
-            ChemicalApp.userData = null;
-            ChemicalApp.subjectId = null;
-            UiManager.INSTANCE.switcherCashier(PlanAddActivity.this, SplashActivity.class);
-        }));
+        binding.tvOutLogin.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                callLogoutApi();
+            }
+        });
         binding.tvReturn.setOnClickListener(v -> finish());
     }
 
@@ -317,15 +316,14 @@ public class PlanAddActivity extends BaseCountDownActivity<ActivityPlanAddBindin
         @Override
         public void onChanged() {
             super.onChanged();
-            if (null == inventoryItemBeanList || inventoryItemBeanList.isEmpty()) {
-                planAddActivityHelp.updateInventoryUi();
-            }
-            int size = 0;
-            for (int i = 0; i < inventoryItemBeanList.size(); i++) {
-                InventoryItemBean inventoryItemBean = inventoryItemBeanList.get(i);
-                size = size + inventoryItemBean.getSize();
+            if (null != inventoryItemBeanList) {
+                int size = 0;
+                for (int i = 0; i < inventoryItemBeanList.size(); i++) {
+                    InventoryItemBean inventoryItemBean = inventoryItemBeanList.get(i);
+                    size = size + inventoryItemBean.getSize();
+                }
+                binding.sizeTV.setText("总数:" + size);
             }
-            binding.sizeTV.setText("总数:" + size);
         }
     };
 

+ 3 - 1
app/src/main/java/xn/hxp/ui/plan/PlanAddActivityHelp.java

@@ -161,14 +161,15 @@ public class PlanAddActivityHelp {
     public void updateInventoryUi() {
         // 待存储列表更新
         CabinetLayerSelect cabinetLayerSelect = activity.hxpLayerDAO.getChanged();
+        LogUtils.d(cabinetLayerSelect);
         if (null != cabinetLayerSelect) {
-            activity.inventoryItemBeanList.clear();
             List<InventoryItemBean> inventoryItemBeanList = activity.hxpInventoryDAO.getById(cabinetLayerSelect.getCabinetId(), cabinetLayerSelect.getDoorId(), cabinetLayerSelect.getLayer());
             // 展示待存储UI
             activity.binding.inputRL.setVisibility(View.VISIBLE);
             if (null != inventoryItemBeanList && !inventoryItemBeanList.isEmpty()) {
                 activity.binding.scanLL.setVisibility(View.GONE);
                 activity.binding.planLV.setVisibility(View.VISIBLE);
+                activity.inventoryItemBeanList.clear();
                 activity.inventoryItemBeanList.addAll(inventoryItemBeanList);
                 activity.planAdapter.notifyDataSetChanged();
             } else {
@@ -203,6 +204,7 @@ public class PlanAddActivityHelp {
 
             @Override
             public void onSuccess(HxpChemicalVo result) {
+                LogUtils.d(result);
                 if (result != null) {
                     boolean isHasHxp = false;
                     for (int i = 0; i < activity.inventoryItemBeanList.size(); i++) {

+ 6 - 7
app/src/main/java/xn/hxp/ui/plan/add/AddActivity.java

@@ -34,7 +34,6 @@ import java.util.Locale;
 import io.reactivex.rxjava3.functions.Consumer;
 import xn.hxp.app.ChemicalApp;
 import xn.hxp.databinding.ActivityAddBinding;
-import xn.hxp.ui.SplashActivity;
 import xn.hxp.ui.common.BaseCountDownActivity;
 import xn.hxp.ui.plan.change.ChangeCabinetActivity;
 import xn.hxp.ui.plan.room.RoomTool;
@@ -46,7 +45,6 @@ import xn.hxp.ui.plan.room.dao.HxpCabinetDAO;
 import xn.hxp.ui.plan.room.dao.HxpDoorDAO;
 import xn.hxp.ui.plan.room.dao.HxpInventoryDAO;
 import xn.hxp.ui.plan.room.dao.HxpLayerDAO;
-import xn.hxp.utils.UiManager;
 import xn.hxp.weidith.ChemicalTypeDialog;
 
 
@@ -286,11 +284,12 @@ public class AddActivity extends BaseCountDownActivity<ActivityAddBinding> {
         }
 
         // 退出
-        binding.tvOutLogin.setOnClickListener(v -> callLogoutApi(aBoolean -> {
-            ChemicalApp.userData = null;
-            ChemicalApp.subjectId = null;
-            UiManager.INSTANCE.switcherCashier(AddActivity.this, SplashActivity.class);
-        }));
+        binding.tvOutLogin.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                callLogoutApi();
+            }
+        });
 
         hxpCabinetDAO = RoomTool.getInstance().hxpCabinetDAO();
         hxpDoorDAO = RoomTool.getInstance().hxpDoorDAO();

+ 32 - 26
app/src/main/java/xn/hxp/ui/plan/change/ChangeCabinetActivity.java

@@ -1,14 +1,20 @@
 package xn.hxp.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 java.util.List;
 
 import xn.hxp.databinding.ActivityChangeCabinetBinding;
 import xn.hxp.ui.common.BaseCountDownActivity;
 import xn.hxp.ui.plan.FragmentCallBack;
+import xn.hxp.ui.plan.room.RoomTool;
 import xn.hxp.ui.plan.room.bean.locker.CabinetLayerSelect;
+import xn.hxp.ui.plan.room.bean.locker.HxpCabinetVo;
 
 /**
  * 更换位置
@@ -27,32 +33,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

+ 7 - 6
app/src/main/java/xn/hxp/ui/plan/save_list/SaveListActivity.java

@@ -4,6 +4,7 @@ import android.content.Intent;
 import android.os.CountDownTimer;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.View;
 
 import androidx.annotation.NonNull;
 
@@ -25,7 +26,6 @@ import io.reactivex.rxjava3.disposables.Disposable;
 import xn.hxp.app.ChemicalApp;
 import xn.hxp.databinding.ActivitySaveListBinding;
 import xn.hxp.ui.MainActivity;
-import xn.hxp.ui.SplashActivity;
 import xn.hxp.ui.common.BaseCountDownActivity;
 import xn.hxp.ui.plan.PlanAddData;
 import xn.hxp.ui.plan.room.RoomTool;
@@ -87,11 +87,12 @@ public class SaveListActivity extends BaseCountDownActivity<ActivitySaveListBind
         }
 
         // 退出
-        binding.tvOutLogin.setOnClickListener(v -> callLogoutApi(aBoolean -> {
-            ChemicalApp.userData = null;
-            ChemicalApp.subjectId = null;
-            UiManager.INSTANCE.switcherCashier(SaveListActivity.this, SplashActivity.class);
-        }));
+        binding.tvOutLogin.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                callLogoutApi();
+            }
+        });
 
         inventoryDAO = RoomTool.getInstance().hxpInventoryDAO();
         cabinetDAO = RoomTool.getInstance().hxpCabinetDAO();

+ 8 - 10
app/src/main/java/xn/hxp/ui/plan/unlock/UnlockActivity.java

@@ -11,15 +11,12 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.blankj.utilcode.util.GsonUtils;
-import xn.hxp.app.ChemicalApp;
+import com.rc.httpcore.bean.UserValidationBean;
+
 import xn.hxp.databinding.ActivityUnlockBinding;
-import xn.hxp.ui.SplashActivity;
 import xn.hxp.ui.common.BaseCountDownActivity;
-import xn.hxp.ui.plan.PlanAddActivity;
 import xn.hxp.ui.plan.PlanAddData;
 import xn.hxp.ui.verify.DoubleVerifyActivity;
-import xn.hxp.utils.UiManager;
-import com.rc.httpcore.bean.UserValidationBean;
 
 public class UnlockActivity extends BaseCountDownActivity<ActivityUnlockBinding> {
     protected ActivityUnlockBinding binding;
@@ -82,11 +79,12 @@ 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.tvOutLogin.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                callLogoutApi();
+            }
+        });
         binding.exit.setOnClickListener(v -> finish());
     }
 

+ 49 - 190
app/src/main/java/xn/hxp/ui/still/ChemicalsAlsoActivity.kt

@@ -14,26 +14,10 @@ import android.widget.Toast
 import androidx.core.content.ContextCompat
 import androidx.lifecycle.lifecycleScope
 import androidx.recyclerview.widget.LinearLayoutManager
+import com.blankj.utilcode.util.LogUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
-import com.caysn.autoreplyprint.AutoReplyPrint
-import xn.hxp.R
-import xn.hxp.blu.BluetoothConnectionManager
-import xn.hxp.comm.Constants
-import xn.hxp.databinding.ActivityChemicalsAlsoBinding
-import xn.hxp.receiver.OnSerialScanListener
-import xn.hxp.receiver.PortScanHelper
-import xn.hxp.receiver.UsbReceiver
-import xn.hxp.ui.PrintBean
-import xn.hxp.ui.SplashActivity
-import xn.hxp.ui.adapter.ReturningChemicalsAdapter
-import xn.hxp.ui.common.BaseCountDownActivity
-import xn.hxp.ui.verify.TwoVerificationActivity
-import xn.hxp.utils.*
-import xn.hxp.weidith.*
-import com.blankj.utilcode.util.LogUtils
-import com.rc.httpcore.HttpClient
 import com.rc.httpcore.HttpConfig
 import com.rc.httpcore.bean.GiveBackBean
 import com.rc.httpcore.bean.LockVoListBean
@@ -41,17 +25,29 @@ import com.rc.httpcore.bean.ReturnDetailsBean
 import com.rc.httpcore.bean.ReturnGiveBackBean
 import com.rc.httpcore.client.ApiRepository
 import com.rc.httpcore.exception.NetException
-import com.sun.jna.Pointer
 import kotlinx.coroutines.*
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
 import retrofit2.HttpException
+import xn.hxp.R
 import xn.hxp.app.ChemicalApp
+import xn.hxp.comm.Constants
+import xn.hxp.databinding.ActivityChemicalsAlsoBinding
+import xn.hxp.receiver.OnSerialScanListener
+import xn.hxp.receiver.PortScanHelper
+import xn.hxp.receiver.UsbReceiver
+import xn.hxp.ui.PrintBean
+import xn.hxp.ui.adapter.ReturningChemicalsAdapter
+import xn.hxp.ui.common.BaseCountDownActivity
+import xn.hxp.ui.verify.TwoVerificationActivity
+import xn.hxp.utils.*
+import xn.hxp.utils.bluetooth.BluetoothTool
+import xn.hxp.utils.bluetooth.BluetoothTool.BluetoothCallBack
+import xn.hxp.weidith.*
 import java.lang.Runnable
 import java.net.ConnectException
 import java.net.SocketTimeoutException
-import java.nio.charset.StandardCharsets
 
 //化学品-归还   StorageDialog  柜字信息
 class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding>() {
@@ -102,12 +98,7 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
         EventBus.getDefault().register(this)
         initTitle()
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
         inAdapter()//初始化适配器
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
@@ -283,7 +274,7 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
             }
             //
             print.types = "${mDataBean.chemicalCategoryName}"
-            labelPrint(print)
+            PrintTool.INSTANCE.print(mDataBean.belongType == 2, print)
         }
 
         viewBinding.replaceLabel.setOnClickListener {
@@ -417,7 +408,7 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
             }
             //
             print.types = "${mDataBean.chemicalCategoryName}"
-            labelPrint(print)
+            PrintTool.INSTANCE.print(mDataBean.belongType == 2, print)
         }, { throwable ->
             dismissLoading()
             showNetError(throwable)
@@ -426,95 +417,6 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
         addDisposable(disposable)
     }
 
-    /**
-     * 标签打印
-     * 补打印
-     * 化学品信息
-     */
-    var h = Pointer.NULL
-    private fun labelPrint(printDate: PrintBean) {
-        val thread = Thread {
-            try {
-                try {//关闭打印
-                    h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                } catch (e: Exception) {
-                    LogUtils.i("初始化异常")
-                }
-
-                val bitmap = BitmapUtils.generateBitmap(printDate)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.huaxuepinbiaoqian)
-                    closePort()
-//                    customDialogView(0, "请将标签粘贴在化学品外包装上")
-                } else {
-                    closePort()
-                    //失败
-                }
-            } catch (e: Exception) {
-                closePort()
-                // 监听子线程中抛出的异常
-            }
-        }
-        thread.start() // 启动子线程
-    }
-
-    private fun closePort() {
-        if (h !== Pointer.NULL) {
-            AutoReplyPrint.INSTANCE.CP_Port_Close(h)
-            h = Pointer.NULL
-        }
-    }
-
-
-    //更换rfid
-    private fun labelPrint(rfid: String) {
-        val thread = Thread {
-            try {
-                var h = Pointer.NULL
-                try {//关闭打印
-                    h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                } catch (e: Exception) {
-                    LogUtils.i("初始化异常")
-                }
-
-                val bitmap = BitmapUtils.airBottlePrint(rfid)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.zhantiefrid)
-                    customDialogView(0, "请将二维码粘贴在RFID标签上")
-
-                } else {
-                    //失败
-                }
-            } catch (e: Exception) {
-                // 监听子线程中抛出的异常
-            }
-        }
-        thread.start() // 启动子线程
-    }
 
     //验证方式
     private fun verifyChecking() {
@@ -836,87 +738,43 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
     private fun connectToDeviceWithTimeout() {
         showToast("连接中...", Toast.LENGTH_SHORT)
         lifecycleScope.launch {
-            val deviceAddress = withContext(Dispatchers.IO) {
-                BluetoothConnectionManager.getDeviceAddress()
-            }
-            if (deviceAddress != null) {
-                val socket = withContext(Dispatchers.IO) {
-                    BluetoothConnectionManager.connectToDevice(deviceAddress)
-                }
-                if (socket != null) {
-                    // 连接成功后的处理逻辑
-                    // 在这里使用返回的 BluetoothSocket 对象进行后续操作
-                    MediaPlayerHelper.playRawMp3(this@ChemicalsAlsoActivity, R.raw.qing_zheng_zhong)
-                    // 连接成功后的处理逻辑
-                    withContext(Dispatchers.Main) {
-                        do {
-                            val inputStream = socket!!.inputStream
-                            val bt = ByteArray(1024)
-                            val content = inputStream!!.read(bt)
-                            if (content != null && content > 0) {
-                                val contents = String(
-                                    bt,
-                                    0,
-                                    content,
-                                    StandardCharsets.UTF_8
-                                )
-                                if ("" == contents || contents.isEmpty()) {
-                                    return@withContext
-                                }
-                                val split = contents.split("\n")
-                                if (split.isEmpty()) {
-                                    return@withContext
-                                }
-                                val weight = split[0].trim()
-                                if ("" == weight || weight.isEmpty()) {
-                                    return@withContext
-                                }
-                                LogUtils.i("===================称重未处理之前=======$contents")
-                                LogUtils.i("===================weight=======$weight")
-                                LogUtils.i("=====称重数据$weight $taskStarted  ${mWeighingValue!!.text.toString()}")
-                                if (weight.toDouble() > 2999) {
-                                    turnOffWeighing()
-                                } else {
-                                    if (weight.toDouble() > 0) {
-                                        if (mWeighingValue!!.text.toString().trim()
-                                                .isNotEmpty()
-                                        ) {
-                                            if (weight.toDouble() == mWeighingValue!!.text.toString()
-                                                    .trim().toDouble()
-                                            ) {
-                                                if (!taskStarted) {
-                                                    taskStarted = true
-                                                    LogUtils.i("=====执行了")
-                                                    socket.close()
-                                                    delayedTaskToUpdateUI()
-                                                    break
-                                                }
-                                            }
-                                        }
-                                        mWeighingValue!!.setText("$weight")
-                                    } else {
-                                        mWeighingValue!!.setText("")
+            MediaPlayerHelper.playRawMp3(this@ChemicalsAlsoActivity, R.raw.qing_zheng_zhong)
+            BluetoothTool.INSTANCE.connect(object : BluetoothCallBack {
+                override fun callBack(weight: String) {
+                    if ("" == weight || weight.isEmpty()) {
+                        return
+                    }
+                    if (weight.toDouble() > 2999) {
+                        turnOffWeighing()
+                    } else {
+                        if (weight.toDouble() > 0) {
+                            if (mWeighingValue!!.text.toString().trim()
+                                    .isNotEmpty()
+                            ) {
+                                if (weight.toDouble() == mWeighingValue!!.text.toString()
+                                        .trim().toDouble()
+                                ) {
+                                    if (!taskStarted) {
+                                        taskStarted = true
+                                        LogUtils.i("=====执行了")
+                                        delayedTaskToUpdateUI()
+                                        return
                                     }
                                 }
-                                delay(200)
-                            } else {
-                                showToast("请手动输入")
-                                weiView()
-                                break
                             }
-                        } while (true)
+                            mWeighingValue!!.setText("$weight")
+                        } else {
+                            mWeighingValue!!.setText("")
+                        }
                     }
+                }
 
-                } else {
-                    // 连接失败的处理逻辑
-                    showToast("连接失败或超时", Toast.LENGTH_SHORT)
+                override fun connectFailed(msg: String) {
+                    showToast("找不到设备", Toast.LENGTH_SHORT)
                     weiView()
                 }
-            } else {
-                // 根据设备名称获取的设备地址为空,处理无法找到设备的情况
-                showToast("找不到设备", Toast.LENGTH_SHORT)
-                weiView()
-            }
+            })
+
         }
     }
 
@@ -1502,6 +1360,7 @@ class ChemicalsAlsoActivity : BaseCountDownActivity<ActivityChemicalsAlsoBinding
         viewBinding.revert.isChecked = true
         viewBinding.revert.isEnabled = true
         viewBinding.chemicalName.text = "${mDataBean.chemicalName}"
+        viewBinding.chemicalName.isSelected = true
         viewBinding.chemicalLevelName.text = "${mDataBean.chemicalLevelName}"
         viewBinding.chemicalCategoryName.text = "${mDataBean.chemicalCategoryName}"
         viewBinding.tagCode.text = "编码${mDataBean.tagCode}"

+ 26 - 0
app/src/main/java/xn/hxp/ui/uses/ProcessedActivity.kt

@@ -91,6 +91,10 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
             }
         }
 
+        viewBinding.tvOutLogin.setOnClickListener {
+            callLogoutApi()
+        }
+
         val noticeId = intent.getStringExtra("noticeId")
         if (noticeId != null) {
             getLists(noticeId)
@@ -123,6 +127,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                 //已处理
                 viewBinding.yStatus.visibility = View.VISIBLE
             }
+
             0 -> {
                 //待处理
                 viewBinding.dStatus.visibility = View.VISIBLE
@@ -133,6 +138,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     viewBinding.revert.visibility = View.VISIBLE
                 }
             }
+
             2 -> {
                 //待处理  详情显示
                 viewBinding.dStatus.visibility = View.VISIBLE
@@ -169,12 +175,15 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     1 -> {
                         viewBinding.typeMsg.text = "手动处理"
                     }
+
                     2 -> {
                         viewBinding.typeMsg.text = "归还操作"
                     }
+
                     3 -> {
                         viewBinding.typeMsg.text = "出库操作"
                     }
+
                     4 -> {
                         viewBinding.typeMsg.text = "入库操作"
                     }
@@ -196,6 +205,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                 }
                 viewBinding.msg.text = "违规带离的化学品确认已放入化学品柜指定位置后,点击处理"
             }
+
             2 -> { //领用超过未归还  1-1
                 if (datas.snapImg != null && datas.snapImg!!.size > 0) {
                     //报警抓拍 照片显示
@@ -231,12 +241,15 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     1 -> {
                         viewBinding.typeMsg.text = "手动处理"
                     }
+
                     2 -> {
                         viewBinding.typeMsg.text = "归还操作"
                     }
+
                     3 -> {
                         viewBinding.typeMsg.text = "出库操作"
                     }
+
                     4 -> {
                         viewBinding.typeMsg.text = "入库操作"
                     }
@@ -259,6 +272,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     viewBinding.chemicalCode.text = "-${datas.rfidCode}"
                 }
             }
+
             3 -> {  //化学品已过期   多个
                 viewBinding.lin2.visibility = View.VISIBLE
                 viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
@@ -278,12 +292,15 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     1 -> {
                         viewBinding.typeMsg.text = "手动处理"
                     }
+
                     2 -> {
                         viewBinding.typeMsg.text = "归还操作"
                     }
+
                     3 -> {
                         viewBinding.typeMsg.text = "出库操作"
                     }
+
                     4 -> {
                         viewBinding.typeMsg.text = "入库操作"
                     }
@@ -296,6 +313,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                 }
 
             }
+
             4 -> {  //化学品即将过期  多个
                 viewBinding.lin2.visibility = View.VISIBLE
                 viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
@@ -311,12 +329,15 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     1 -> {
                         viewBinding.typeMsg.text = "手动处理"
                     }
+
                     2 -> {
                         viewBinding.typeMsg.text = "归还操作"
                     }
+
                     3 -> {
                         viewBinding.typeMsg.text = "出库操作"
                     }
+
                     4 -> {
                         viewBinding.typeMsg.text = "入库操作"
                     }
@@ -329,6 +350,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                 }
 
             }
+
             5 -> {//超期未入库
                 viewBinding.lin2.visibility = View.VISIBLE
                 viewBinding.rvView?.layoutManager = LinearLayoutManager(this)
@@ -347,12 +369,15 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     1 -> {
                         viewBinding.typeMsg.text = "手动处理"
                     }
+
                     2 -> {
                         viewBinding.typeMsg.text = "归还操作"
                     }
+
                     3 -> {
                         viewBinding.typeMsg.text = "出库操作"
                     }
+
                     4 -> {
                         viewBinding.typeMsg.text = "入库操作"
                     }
@@ -364,6 +389,7 @@ class ProcessedActivity : BaseCountDownActivity<ActivityProcessedBinding>() {
                     viewBinding.handleTime.text = "${datas.handleTime}"
                 }
             }
+
             6 -> {//业务超时
 //                viewBinding.lin2.visibility = View.VISIBLE
 //                viewBinding.rvView?.layoutManager = LinearLayoutManager(this)

+ 35 - 80
app/src/main/java/xn/hxp/ui/uses/UseActivity.kt

@@ -17,7 +17,6 @@ import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
 import xn.hxp.app.ChemicalApp
 import xn.hxp.R
-import xn.hxp.blu.BluetoothConnectionManager
 import xn.hxp.comm.Constants
 import xn.hxp.databinding.ActivityUseBinding
 import xn.hxp.ui.SplashActivity
@@ -38,6 +37,8 @@ import com.rc.httpcore.HttpConfig
 import com.rc.httpcore.bean.*
 import com.rc.httpcore.client.ApiRepository
 import kotlinx.coroutines.*
+import xn.hxp.utils.bluetooth.BluetoothTool
+import xn.hxp.utils.bluetooth.BluetoothTool.BluetoothCallBack
 import java.lang.Runnable
 import java.math.BigDecimal
 import java.nio.charset.StandardCharsets
@@ -110,12 +111,7 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>() {
             }
         }
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
 
         //化学品柜 查询
@@ -368,7 +364,9 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>() {
                     stopCountDown()
                 }
             })
-        mUsageLabelDialog!!.show()
+        if (!mUsageLabelDialog!!.isShowing) {
+            mUsageLabelDialog!!.show()
+        }
         if (isok) {
             mUsageLabelDialog!!.setMessage("11", mChemistryBean)
         }
@@ -545,85 +543,42 @@ class UseActivity : BaseCountDownActivity<ActivityUseBinding>() {
     private fun connectToDeviceWithTimeout() {
         showToast("连接中...", Toast.LENGTH_SHORT)
         lifecycleScope.launch {
-            val deviceAddress = withContext(Dispatchers.IO) {
-                BluetoothConnectionManager.getDeviceAddress()
-            }
-            if (deviceAddress != null) {
-                val socket = withContext(Dispatchers.IO) {
-                    BluetoothConnectionManager.connectToDevice(deviceAddress)
-                }
-                if (socket != null) {
-                    // 连接成功后的处理逻辑
-                    // 在这里使用返回的 BluetoothSocket 对象进行后续操作
-                    MediaPlayerHelper.playRawMp3(this@UseActivity, R.raw.qing_zheng_zhong)
-                    // 连接成功后的处理逻辑
-                    withContext(Dispatchers.Main) {
-                        do {
-//                            try {
-                            val inputStream = socket!!.inputStream
-                            val bt = ByteArray(1024)
-                            val content = inputStream!!.read(bt)
-                            if (content != null && content > 0) {
-                                val contents = String(
-                                    bt,
-                                    0,
-                                    content,
-                                    StandardCharsets.UTF_8
-                                )
-                                val split = contents.split("\n")
-                                val weight = split[0].trim()
-                                LogUtils.i("===================称重未处理之前=======$contents")
-                                LogUtils.i("===================weight=======$weight")
-                                LogUtils.i("=====称重数据$weight $taskStarted  ${mWeighingValue!!.text.toString()}")
-                                if (weight.toDouble() > 2999) {
-                                    turnOffWeighing()
-                                } else {
-                                    if (weight.toDouble() > 0) {
-                                        if (mWeighingValue!!.text.toString().trim()
-                                                .isNotEmpty()
-                                        ) {
-                                            if (weight.toDouble() == mWeighingValue!!.text.toString()
-                                                    .trim().toDouble()
-                                            ) {
-                                                if (taskStarted == false) {
-                                                    taskStarted = true
-                                                    LogUtils.i("=====执行了")
-                                                    socket.close()
-                                                    delayedTaskToUpdateUI()
-                                                    break
-                                                }
-                                            }
-                                        }
-                                        mWeighingValue!!.setText("$weight")
-                                    } else {
-                                        mWeighingValue!!.setText("")
+            MediaPlayerHelper.playRawMp3(this@UseActivity, R.raw.qing_zheng_zhong)
+            BluetoothTool.INSTANCE.connect(object : BluetoothCallBack {
+                override fun callBack(weight: String) {
+                    if ("" == weight || weight.isEmpty()) {
+                        return
+                    }
+                    if (weight.toDouble() > 2999) {
+                        turnOffWeighing()
+                    } else {
+                        if (weight.toDouble() > 0) {
+                            if (mWeighingValue!!.text.toString().trim()
+                                    .isNotEmpty()
+                            ) {
+                                if (weight.toDouble() == mWeighingValue!!.text.toString()
+                                        .trim().toDouble()
+                                ) {
+                                    if (!taskStarted) {
+                                        taskStarted = true
+                                        LogUtils.i("=====执行了")
+                                        delayedTaskToUpdateUI()
+                                        return
                                     }
                                 }
-                                delay(200)
-                            } else {
-//                                jobTow?.cancel()
-                                showToast("请手动输入")
-                                weiView()
-                                break
                             }
-//                            } catch (e: Exception) {
-//                                jobTow?.cancel()
-//                                weiView()
-//                                break
-//                            }
-                        } while (true)
+                            mWeighingValue!!.setText("$weight")
+                        } else {
+                            mWeighingValue!!.setText("")
+                        }
                     }
+                }
 
-                } else {
-                    // 连接失败的处理逻辑
-                    showToast("连接失败或超时", Toast.LENGTH_SHORT)
+                override fun connectFailed(msg: String) {
+                    showToast("找不到设备", Toast.LENGTH_SHORT)
                     weiView()
                 }
-            } else {
-                // 根据设备名称获取的设备地址为空,处理无法找到设备的情况
-                showToast("找不到设备", Toast.LENGTH_SHORT)
-                weiView()
-            }
+            })
         }
     }
 

+ 1 - 6
app/src/main/java/xn/hxp/ui/uses/WarningEventsActivity.kt

@@ -53,12 +53,7 @@ class WarningEventsActivity : BaseCountDownActivity<ActivityWarningEventsBinding
             finish()
         }
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
         mAdapter.setOnItemChildClickListener { adapter, view, position ->
             if (view.id == R.id.operate) {

+ 16 - 99
app/src/main/java/xn/hxp/ui/warehousing/ChemicalLabelingActivity.kt

@@ -64,12 +64,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
         viewBinding.rvInventory.adapter = mAdapter
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
 
         viewBinding.tvReturn.setOnClickListener {
@@ -140,7 +135,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
             }
             //
             print.types = "${mData.chemicalCategoryName}"
-            labelPrint(print)
+            PrintTool.INSTANCE.print(mData.belongType == 2, print)
         }
 
         viewBinding.replaceLabel.setOnClickListener {
@@ -209,6 +204,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
 
 
                             }
+
                             "3" -> {//扫码
                                 map["mVerTyps"] = 3
 
@@ -476,7 +472,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
             }
             //
             print.types = "${mData.chemicalCategoryName}"
-            labelPrint(print)
+            PrintTool.INSTANCE.print(mData.belongType == 2, print)
             mAdapter.data[mAdIndex].rfidCode = rfid
             mAdapter.notifyItemChanged(mAdIndex)
         }, { throwable ->
@@ -487,90 +483,6 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
         addDisposable(disposable)
     }
 
-    /**
-     * 标签打印
-     * 补打印
-     * 化学品信息
-     */
-    private fun labelPrint(printDate: PrintBean) {
-        val thread = Thread {
-            try {
-
-                try {//关闭打印
-                    h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                } catch (e: Exception) {
-                    LogUtils.i("初始化异常")
-                }
-
-                val bitmap = BitmapUtils.generateBitmap(printDate)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.huaxuepinbiaoqian)
-                    closePort()
-//                    customDialogView(0, "请将标签粘贴在化学品外包装上")
-                } else {
-                    //失败
-                    closePort()
-                    LogUtils.i("=====异常2222")
-                }
-            } catch (e: Exception) {
-                closePort()
-                // 监听子线程中抛出的异常
-                LogUtils.i("=======异常${e.message}")
-            }
-        }
-        thread.start() // 启动子线程
-    }
-
-    //更换rfid
-    private fun labelPrint(rfid: String) {
-        val thread = Thread {
-            try {
-                var h = Pointer.NULL
-                try {//关闭打印
-                    h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                } catch (e: Exception) {
-                    LogUtils.i("初始化异常")
-                }
-
-                val bitmap = BitmapUtils.airBottlePrint(rfid)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.zhantiefrid)
-
-                } else {
-                    //失败
-                    LogUtils.i("=====异常2222")
-                }
-            } catch (e: Exception) {
-                // 监听子线程中抛出的异常
-                LogUtils.i("=======异常${e.message}")
-            }
-        }
-        thread.start() // 启动子线程
-    }
 
     /**
      * 0  没有图标 1 绿色(成功)   2红色(失败)
@@ -647,13 +559,16 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
             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
@@ -676,11 +591,13 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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
@@ -701,11 +618,13 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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
@@ -735,6 +654,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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(
@@ -759,6 +679,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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(
@@ -811,6 +732,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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(
@@ -834,6 +756,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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(
@@ -857,6 +780,7 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
                     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) {
@@ -1141,13 +1065,6 @@ class ChemicalLabelingActivity : BaseCountDownActivity<ActivityChemicalLabelingB
         }
     }
 
-    private fun closePort() {
-        if (h !== Pointer.NULL) {
-            AutoReplyPrint.INSTANCE.CP_Port_Close(h)
-            h = Pointer.NULL
-        }
-    }
-
     //查询开锁状态
     private fun getLocksDate(index: Int, fruit: String) {
         val disposable = ApiRepository.getLocks(ChemicalApp.subjectId!!, fruit)

+ 5 - 56
app/src/main/java/xn/hxp/ui/warehousing/ElectronicLedgerActivity.kt

@@ -23,6 +23,7 @@ import com.rc.httpcore.HttpClient
 import com.rc.httpcore.HttpConfig
 import com.sun.jna.Pointer
 import xn.hxp.app.ChemicalApp
+import xn.hxp.utils.PrintTool
 
 //标签管理
 class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerBinding>() {
@@ -35,12 +36,7 @@ class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerB
         super.initViews(savedInstanceState)
         viewBinding.tvReturn.text = "返回${ChemicalApp.confs!!.backTime}s"
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
         viewBinding.tvReturn.setOnClickListener {
             finish()
@@ -55,8 +51,8 @@ class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerB
             //气瓶标签
             var airBottleDialog = AirBottleDialog(this, object : AirBottleDialog.ILintDate {
                 override fun onLintDate(cont: String) {
-                    if (cont.isNotEmpty()){
-                        labelPrint(cont)
+                    if (cont.isNotEmpty()) {
+                        PrintTool.INSTANCE.print(cont)
                     }
                 }
             })
@@ -83,7 +79,7 @@ class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerB
             .into(imageView)
 
         // 使用 Glide 加载网络图片
-        viewBinding.deptName.text="${ChemicalApp.confs!!.deptName}-${ChemicalApp.confs!!.roomNum}"
+        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))
@@ -106,54 +102,7 @@ class ElectronicLedgerActivity : BaseCountDownActivity<ActivityElectronicLedgerB
         } catch (e: Exception) {
         }
     }
-    var h = Pointer.NULL
-    private fun labelPrint(rfid:String) {
-        val thread = Thread {
-            try {
 
-                try {//关闭打印
-                    h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                } catch (e: Exception) {
-                    LogUtils.i("初始化异常")
-                }
-
-                val bitmap = BitmapUtils.airBottlePrint(rfid)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.zhantiefrid)
-                    customDialogView(0, "请将二维码粘贴在RFID标签上")
-                    closePort()
-                } else {
-                    //失败
-                    closePort()
-                    LogUtils.i("=====异常2222")
-                }
-            } catch (e: Exception) {
-                // 监听子线程中抛出的异常
-                closePort()
-                LogUtils.i("=======异常${e.message}")
-            }
-        }
-        thread.start() // 启动子线程
-    }
-
-    private fun closePort() {
-        if (h !== Pointer.NULL) {
-            AutoReplyPrint.INSTANCE.CP_Port_Close(h)
-            h = Pointer.NULL
-        }
-    }
     /**
      * 0  没有图标 1 绿色(成功)   2红色(失败)
      *   失败或者成功的弹框

+ 50 - 162
app/src/main/java/xn/hxp/ui/warehousing/WarehousingActivity.kt

@@ -12,35 +12,30 @@ import android.widget.Toast
 import androidx.core.content.ContextCompat
 import androidx.lifecycle.lifecycleScope
 import androidx.recyclerview.widget.LinearLayoutManager
+import com.blankj.utilcode.util.LogUtils
 import com.bumptech.glide.Glide
 import com.bumptech.glide.load.engine.DiskCacheStrategy
 import com.bumptech.glide.request.RequestOptions
-import com.caysn.autoreplyprint.AutoReplyPrint
+import com.rc.httpcore.HttpConfig
+import com.rc.httpcore.bean.*
+import com.rc.httpcore.client.ApiRepository
+import com.rc.httpcore.exception.NetException
+import com.sun.jna.Pointer
+import kotlinx.coroutines.*
+import retrofit2.HttpException
 import xn.hxp.R
-import xn.hxp.blu.BluetoothConnectionManager
+import xn.hxp.app.ChemicalApp
 import xn.hxp.comm.Constants
 import xn.hxp.databinding.ActivityWarehousingBinding
 import xn.hxp.ui.PrintBean
-import xn.hxp.ui.SplashActivity
 import xn.hxp.ui.adapter.ChemicalsAdapter
 import xn.hxp.ui.adapter.InventoryListAdapter
 import xn.hxp.ui.common.BaseCountDownActivity
 import xn.hxp.ui.verify.TwoVerificationActivity
 import xn.hxp.utils.*
+import xn.hxp.utils.bluetooth.BluetoothTool
+import xn.hxp.utils.bluetooth.BluetoothTool.BluetoothCallBack
 import xn.hxp.weidith.*
-import com.blankj.utilcode.util.LogUtils
-import com.rc.httpcore.HttpClient
-import com.rc.httpcore.HttpConfig
-import com.rc.httpcore.bean.ChemicalInfoBean
-import com.rc.httpcore.bean.RuleBean
-import com.rc.httpcore.bean.*
-import com.rc.httpcore.client.ApiRepository
-import com.rc.httpcore.bean.HxpStockWaitListBean
-import com.rc.httpcore.exception.NetException
-import com.sun.jna.Pointer
-import kotlinx.coroutines.*
-import retrofit2.HttpException
-import xn.hxp.app.ChemicalApp
 import java.lang.Runnable
 import java.math.BigDecimal
 import java.net.ConnectException
@@ -109,12 +104,7 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
         }
 
         viewBinding.tvOutLogin.setOnClickListener {
-            callLogoutApi {
-                ChemicalApp.userData = null
-                HttpClient.token = null
-                ChemicalApp.subjectId = null
-                UiManager.switcherCashier(this, SplashActivity::class.java)
-            }
+            callLogoutApi()
         }
 
         //查询后根据返回集合数量  判断当天的显示
@@ -574,95 +564,37 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
     }
 
     private suspend fun connectToDeviceWithTimeout() {
-        showToast("连接中...", Toast.LENGTH_SHORT)
-        LogUtils.i("===================weight=======1")
-
-//        lifecycleScope.launch  {
-        LogUtils.i("===================weight=======2")
-        val deviceAddress = withContext(Dispatchers.IO) {
-            BluetoothConnectionManager.getDeviceAddress()
-        }
-        LogUtils.i("===================weight=======2")
-        if (deviceAddress != null) {
-            val socket = withContext(Dispatchers.IO) {
-                BluetoothConnectionManager.connectToDevice(deviceAddress)
-            }
-            LogUtils.i("===================weight=======3")
-            if (socket != null) {
-                // 连接成功后的处理逻辑
-                // 在这里使用返回的 BluetoothSocket 对象进行后续操作
-                LogUtils.i("===================weight=======4")
-                MediaPlayerHelper.playRawMp3(this@WarehousingActivity, R.raw.qing_zheng_zhong)
-                // 连接成功后的处理逻辑
-                withContext(Dispatchers.Main) {
-                    do {
-//                            try {
-                        val inputStream = socket!!.inputStream
-                        val bt = ByteArray(1024)
-                        val content = inputStream!!.read(bt)
-                        if (content != null && content > 0) {
-                            val contents = String(
-                                bt,
-                                0,
-                                content,
-                                StandardCharsets.UTF_8
-                            )
-                            val split = contents.split("\n")
-                            val weight = split[0].trim()
-                            LogUtils.i("===================称重未处理之前=======$contents")
-                            LogUtils.i("===================weight=======$weight")
-                            LogUtils.i("=====称重数据$weight $taskStarted  ${mWeighingValue!!.text.toString()}")
-                            if (weight.toDouble() > 2999) {
-                                turnOffWeighing()
-                            } else {
-                                if (weight.toDouble() > 0) {
-                                    if (mWeighingValue!!.text.toString().trim()
-                                            .isNotEmpty()
-                                    ) {
-                                        if (weight.toDouble() == mWeighingValue!!.text.toString()
-                                                .trim().toDouble()
-                                        ) {
-                                            if (taskStarted == false) {
-                                                taskStarted = true
-                                                LogUtils.i("=====执行了")
-                                                socket.close()
-                                                delayedTaskToUpdateUI()
-                                                break
-                                            }
-                                        }
-                                    }
-                                    mWeighingValue!!.setText("$weight")
-                                } else {
-                                    mWeighingValue!!.setText("")
+        BluetoothTool.INSTANCE.connect(object : BluetoothCallBack {
+            override fun callBack(weight: String) {
+                if (weight.toDouble() > 2999) {
+                    turnOffWeighing()
+                } else {
+                    if (weight.toDouble() > 0) {
+                        if (mWeighingValue!!.text.toString().trim()
+                                .isNotEmpty()
+                        ) {
+                            if (weight.toDouble() == mWeighingValue!!.text.toString()
+                                    .trim().toDouble()
+                            ) {
+                                if (taskStarted == false) {
+                                    taskStarted = true
+                                    LogUtils.i("=====执行了")
+                                    delayedTaskToUpdateUI()
                                 }
                             }
-                            delay(200)
-                        } else {
-//                                    jobTow?.cancel()
-                            showToast("请手动输入")
-                            weiView()
-                            break
                         }
-//                            } catch (e: Exception) {
-//                                jobTow?.cancel()
-//                                weiView()
-//                                break
-//                            }
-                    } while (true)
+                        mWeighingValue!!.setText("$weight")
+                    } else {
+                        mWeighingValue!!.setText("")
+                    }
                 }
+            }
 
-            } else {
-                LogUtils.i("===================weight=======4")
-                // 连接失败的处理逻辑
-                showToast("连接失败或超时", Toast.LENGTH_SHORT)
+            override fun connectFailed(msg: String) {
+                showToast("找不到设备", Toast.LENGTH_SHORT)
                 weiView()
             }
-        } else {
-            // 根据设备名称获取的设备地址为空,处理无法找到设备的情况
-            showToast("找不到设备", Toast.LENGTH_SHORT)
-            weiView()
-        }
-//        }
+        })
     }
 
     private fun showToast(message: String, duration: Int) {
@@ -790,7 +722,12 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
 //        addDisposable(disposable)
 //    }
 
-    private fun getCheckRfids(rfid: String, tagCode: String, wxCode: String, position: Int) {
+    private fun getCheckRfids(
+        rfid: String,
+        tagCode: String,
+        wxCode: String,
+        position: Int
+    ) {
         showLoading("查询标签...")
         val disposable = ApiRepository.checkRfids(rfid)
             .subscribe({ data ->
@@ -825,7 +762,7 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
                         }
                         //
                         print.types = "${modelA!!.chemicalCategoryName}"
-                        labelPrint(print)
+                        PrintTool.INSTANCE.print(!modelA!!.topicGroup, print)
                     }
                 }
             }, { throwable ->
@@ -836,58 +773,8 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
         addDisposable(disposable)
     }
 
-    /**
-     * 标签打印
-     * 化学品信息
-     */
-    private fun labelPrint(printDate: PrintBean) {
-        val thread = Thread {
-            try {
-                if (!pritBot) {
-                    try {//关闭打印
-                        h = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1)
-                    } catch (e: Exception) {
-                        LogUtils.i("初始化异常")
-                    }
-                }
-                pritBot = true
-                val bitmap = BitmapUtils.generateBitmap(printDate)  //图片信息
-                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(h)
-                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(
-                    h,
-                    bitmap!!.width,
-                    bitmap.height,
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-                )
-                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(h, 1)
-                val result = AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(h) //全切
-                if (result) {
-                    //打印成功
-                    MediaPlayerHelper.playRawMp3(this, R.raw.huaxuepinbiaoqian)
-//                    closePort()
-//                    customDialogView(0, "请将标签粘贴在化学品外包装上")
-                } else {
-                    //失败
-//                    closePort()
-                }
-            } catch (e: Exception) {
-//                closePort()
-                // 监听子线程中抛出的异常
-            }
-        }
-        thread.start() // 启动子线程
-    }
-
-    private fun closePort() {
-        if (h !== Pointer.NULL) {
-            AutoReplyPrint.INSTANCE.CP_Port_Close(h)
-            h = Pointer.NULL
-        }
-    }
-
-    private val taskPrint = Runnable {
+    private
+    val taskPrint = Runnable {
 
         if (mPrintTag == 0) {
             //全部打印完成  关闭 并且调用下一步业务
@@ -920,7 +807,7 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
             }
             //
             print.types = "${modelA!!.chemicalCategoryName}"
-            labelPrint(print)
+            PrintTool.INSTANCE.print(!modelA!!.topicGroup, print)
         }
         mPrintTag--
 
@@ -941,7 +828,8 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
                 mCabinetName = mListData!![0].cabinetName
                 mDoorName = mListData!![0].cabinetDoorVoList[0].doorName
                 mDoorId = mListData!![0].cabinetDoorVoList[0].doorUniqueId
-                mCabinetLockVoList = mListData!![0].cabinetDoorVoList[0].cabinetLockVoList
+                mCabinetLockVoList =
+                    mListData!![0].cabinetDoorVoList[0].cabinetLockVoList
                 mLayers = mListData!![0].cabinetDoorVoList[0].doorLayers   //当前柜子一共几层
             }, { throwable ->
                 dismissLoading()
@@ -1528,7 +1416,6 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
             handlerUtil.stopAllTasks()
             mHandler.removeCallbacksAndMessages(null)
             countdownTimer?.cancel()
-            closePort()
         } catch (e: Exception) {
         }
         try {
@@ -1540,7 +1427,8 @@ class WarehousingActivity : BaseCountDownActivity<ActivityWarehousingBinding>()
     //=================开锁流程================
     private val task = Runnable {
         //判断所有的锁开锁成功
-        val containsFalse = mCabinetLockVoList!!.any { it.isOk == false && it.unlockingMethod == 2 }
+        val containsFalse =
+            mCabinetLockVoList!!.any { it.isOk == false && it.unlockingMethod == 2 }
         LogUtils.i("=======查询调用开锁状态====$containsFalse")
         if (containsFalse) {
             getLocks()

+ 71 - 0
app/src/main/java/xn/hxp/utils/PrintTool.java

@@ -0,0 +1,71 @@
+package xn.hxp.utils;
+
+import android.graphics.Bitmap;
+import android.util.Log;
+
+import com.blankj.utilcode.util.LogUtils;
+import com.caysn.autoreplyprint.AutoReplyPrint;
+import com.sun.jna.Pointer;
+
+import xn.hxp.R;
+import xn.hxp.ui.PrintBean;
+
+public enum PrintTool {
+    INSTANCE;
+
+    private Pointer pointer;
+
+    public void print(boolean isBelong, PrintBean printBean) {
+        try {
+            AutoReplyPrint.INSTANCE.CP_Port_AddOnPortOpenedEvent((handle, name, private_data) -> {
+                LogUtils.d("打印机打开成功");
+                Bitmap bitmap = BitmapUtils.INSTANCE.generateBitmap(isBelong, printBean);
+                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(pointer);
+                LogUtils.d("打印机退纸成功");
+                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(pointer,
+                        bitmap.getWidth(),
+                        bitmap.getHeight(),
+                        bitmap,
+                        AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
+                        AutoReplyPrint.CP_ImageCompressionMethod_None
+                );
+                LogUtils.d("打印机打印图片成功");
+                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(pointer, 1);
+                LogUtils.d("打印机文字成功");
+                if (AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(pointer)) {
+                    LogUtils.d("打印机切割成功");
+                    AudioPlayer.getInstance().play(R.raw.huaxuepinbiaoqian);
+                }
+            }, Pointer.NULL);
+            LogUtils.d("打开打印机");
+            pointer = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1);
+        } catch (Exception e) {
+            LogUtils.d(Log.getStackTraceString(e));
+        }
+    }
+
+    public void print(String string) {
+        try {
+            AutoReplyPrint.INSTANCE.CP_Port_AddOnPortOpenedEvent((handle, name, private_data) -> {
+                Bitmap bitmap = BitmapUtils.INSTANCE.airBottlePrint(string);
+                AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(pointer);
+                AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(pointer,
+                        bitmap.getWidth(),
+                        bitmap.getHeight(),
+                        bitmap,
+                        AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
+                        AutoReplyPrint.CP_ImageCompressionMethod_None
+                );
+                AutoReplyPrint.INSTANCE.CP_Label_PagePrint(pointer, 1);
+                if (AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(pointer)) {
+                    AudioPlayer.getInstance().play(R.raw.zhantiefrid);
+                }
+                AutoReplyPrint.INSTANCE.CP_Port_Close(pointer);
+            }, Pointer.NULL);
+            pointer = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1);
+        } catch (Exception e) {
+            LogUtils.d(Log.getStackTraceString(e));
+        }
+    }
+
+}

+ 6 - 44
app/src/main/java/xn/hxp/utils/UiManager.kt

@@ -25,24 +25,6 @@ object UiManager {
         }
     }
 
-    /**
-     * 关闭所有activity
-     * @param context
-     * @param cls
-     */
-    fun switcherCashier(context: Context, cls: Class<*>?) {
-        val intent = Intent()
-        intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
-        intent.setClass(context, cls!!)
-        context.startActivity(intent)
-        //设置切换动画,从右边进入,左边退出
-        if (context is Activity) {
-            context.overridePendingTransition(R.anim.push_right_in, R.anim.push_left_out)
-        }
-    }
-
-
-
     /**
      * Activity带有数据跳转
      *
@@ -60,17 +42,6 @@ object UiManager {
         }
     }
 
-    fun switchers(context: Context, map: Map<String, Any>?, cls: Class<*>?) {
-        val intent = Intent()
-        putExtraData(map, intent)
-        intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP
-        intent.setClass(context, cls!!)
-        context.startActivity(intent)
-        if (context is Activity) {
-            context.overridePendingTransition(R.anim.push_right_in, R.anim.push_left_out)
-        }
-    }
-
     /**
      * Activity带返回值的跳转
      *
@@ -116,21 +87,27 @@ object UiManager {
                     is Int -> {
                         intent.putExtra(key, value as Int?)
                     }
+
                     is String -> {
                         intent.putExtra(key, value as String?)
                     }
+
                     is Double -> {
                         intent.putExtra(key, value as Double?)
                     }
+
                     is Float -> {
                         intent.putExtra(key, value as Float?)
                     }
+
                     is Long -> {
                         intent.putExtra(key, value as Long?)
                     }
+
                     is Boolean -> {
                         intent.putExtra(key, value as Boolean?)
                     }
+
                     is Any -> {
                         intent.putExtra(key, value as Parcelable?)
                     }
@@ -143,19 +120,4 @@ object UiManager {
             }
         }
     }
-
-    /**
-     * Activity带有数据跳转
-     *
-     * @param activity
-     * @param map
-     * @param cls
-     */
-    fun switcherPut(activity: Activity, map: Map<String, Any>?, cls: Class<*>?, requestCode: Int) {
-        val intent = Intent()
-        putExtraData(map, intent)
-        intent.setClass(activity, cls!!)
-        activity.startActivityForResult(intent, requestCode)
-    }
-
 }

+ 21 - 21
app/src/main/java/xn/hxp/weidith/UsageLabelDialog.kt

@@ -119,8 +119,8 @@ class UsageLabelDialog(
         registerUsbBroadcast()
 
 
-        mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
-        mCountDownHandler.sendEmptyMessage(Constants.WHAT_COUNT_DOWN_TWO)
+//        mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
+//        mCountDownHandler.sendEmptyMessage(Constants.WHAT_COUNT_DOWN_TWO)
         mAdapter.setOnItemChildClickListener { adapter, view, position ->
             // 在这里处理子View的点击事件
             when (view.id) {
@@ -237,27 +237,27 @@ class UsageLabelDialog(
     }
 
     private fun closHandle() {
-        mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
-        mCountDownHandler.removeCallbacksAndMessages(null)
+//        mCountDownHandler.removeMessages(Constants.WHAT_COUNT_DOWN_TWO)
+//        mCountDownHandler.removeCallbacksAndMessages(null)
     }
 
-    private val mCountDownHandler = object : Handler(Looper.getMainLooper()) {
-
-        override fun handleMessage(msg: Message) {
-            if (Constants.WHAT_COUNT_DOWN_TWO == msg.what) {
-
-                val countDown = Constants.OFFTIME_TIME - mCounter
-
-                Log.d("======返回时间", "$countDown")
-                if (countDown <= 0) {
-                    dismiss()
-                } else {
-                    sendEmptyMessageDelayed(Constants.WHAT_COUNT_DOWN_TWO, 1000)
-                }
-                mCounter++
-            }
-        }
-    }
+//    private val mCountDownHandler = object : Handler(Looper.getMainLooper()) {
+//
+//        override fun handleMessage(msg: Message) {
+//            if (Constants.WHAT_COUNT_DOWN_TWO == msg.what) {
+//
+//                val countDown = Constants.OFFTIME_TIME - mCounter
+//
+//                Log.d("======返回时间", "$countDown")
+//                if (countDown <= 0) {
+//                    dismiss()
+//                } else {
+//                    sendEmptyMessageDelayed(Constants.WHAT_COUNT_DOWN_TWO, 1000)
+//                }
+//                mCounter++
+//            }
+//        }
+//    }
 
 
     override fun dispatchTouchEvent(ev: MotionEvent): Boolean {

+ 8 - 36
app/src/main/java/xn/hxp/weidith/prin_label_dialog/PrintLabelDialog.java

@@ -1,7 +1,6 @@
 package xn.hxp.weidith.prin_label_dialog;
 
 import android.content.Context;
-import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.os.Bundle;
@@ -18,25 +17,23 @@ import androidx.recyclerview.widget.LinearLayoutManager;
 
 import com.blankj.utilcode.util.LogUtils;
 import com.blankj.utilcode.util.ThreadUtils;
-import com.caysn.autoreplyprint.AutoReplyPrint;
-import xn.hxp.R;
-import xn.hxp.databinding.DialogPrintLabelBinding;
-import xn.hxp.ui.PrintBean;
-import xn.hxp.ui.adapter.LabelDialogAdapter;
-import xn.hxp.ui.plan.room.bean.input_add.InventoryItemBean;
-import xn.hxp.utils.AudioPlayer;
-import xn.hxp.utils.BitmapUtils;
 import com.kongzue.dialogx.dialogs.PopTip;
 import com.rc.httpcore.HttpConfig;
 import com.rc.httpcore.bean.BelongingPersonBean;
 import com.rc.httpcore.bean.HxpChemicalVo;
 import com.rc.httpcore.bean.StockDetailsModel;
 import com.rc.httpcore.bean.TopicDataBean;
-import com.sun.jna.Pointer;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import xn.hxp.R;
+import xn.hxp.databinding.DialogPrintLabelBinding;
+import xn.hxp.ui.PrintBean;
+import xn.hxp.ui.adapter.LabelDialogAdapter;
+import xn.hxp.ui.plan.room.bean.input_add.InventoryItemBean;
+import xn.hxp.utils.PrintTool;
+
 public class PrintLabelDialog extends AppCompatDialog {
     // RFID广播接收器
     private Context context;
@@ -50,7 +47,6 @@ public class PrintLabelDialog extends AppCompatDialog {
     private List<StockDetailsModel> labelList = new ArrayList<>();
     private LabelDialogAdapter labelDialogAdapter;
 
-    private Pointer pointer = Pointer.NULL;
     private boolean isPrint;
 
     /**
@@ -183,7 +179,7 @@ public class PrintLabelDialog extends AppCompatDialog {
                         printBean.setTypes(TextUtils.isEmpty(chemicalCategory) ? "" : chemicalCategory.toString());
                         // 打印
                         if (isPrint) {
-                            printLabel(belongType == 2, printBean);
+                            PrintTool.INSTANCE.print(belongType == 2, printBean);
                         }
                     }
                     return null;
@@ -219,30 +215,6 @@ public class PrintLabelDialog extends AppCompatDialog {
         }
     }
 
-    // 打印
-    private void printLabel(boolean isBelong, PrintBean printBean) {
-        try {
-            if (pointer == Pointer.NULL) {
-                pointer = AutoReplyPrint.INSTANCE.CP_Port_OpenUsb("VID:0x0FE6,PID:0x811E", 1);
-            }
-            Bitmap bitmap = BitmapUtils.INSTANCE.generateBitmap(isBelong, printBean);
-            AutoReplyPrint.INSTANCE.CP_Label_BackPaperToPrintPosition(pointer);
-            AutoReplyPrint.CP_Pos_PrintRasterImageFromData_Helper.PrintRasterImageFromBitmap(pointer,
-                    bitmap.getWidth(),
-                    bitmap.getHeight(),
-                    bitmap,
-                    AutoReplyPrint.CP_ImageBinarizationMethod_Thresholding,
-                    AutoReplyPrint.CP_ImageCompressionMethod_None
-            );
-            AutoReplyPrint.INSTANCE.CP_Label_PagePrint(pointer, 1);
-            if (AutoReplyPrint.INSTANCE.CP_Pos_HalfCutPaper(pointer)) {
-                AudioPlayer.getInstance().play(R.raw.huaxuepinbiaoqian);
-            }
-        } catch (Exception e) {
-            LogUtils.e(Log.getStackTraceString(e));
-        }
-    }
-
     public interface PrintLabelCallBack {
         void confirm();
 

+ 11 - 4
app/src/main/res/layout/activity_chemicals_also.xml

@@ -361,9 +361,9 @@
                     android:id="@+id/butNext"
                     android:layout_width="65dp"
                     android:layout_height="25dp"
+                    android:layout_centerVertical="true"
                     android:layout_marginLeft="10dp"
                     android:layout_toRightOf="@+id/rvPage"
-                    android:layout_centerVertical="true"
                     android:background="@drawable/bg_sou_suo_page"
                     android:text="下一页"
                     android:textColor="@color/white"
@@ -385,7 +385,8 @@
             android:layout_weight="0.5"
             android:orientation="vertical"
             android:paddingLeft="15dp"
-            android:paddingRight="15dp">
+            android:paddingRight="15dp"
+            android:visibility="visible">
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -419,7 +420,8 @@
             android:orientation="vertical"
             android:paddingLeft="15dp"
             android:paddingRight="15dp"
-            android:visibility="gone">
+            android:visibility="gone
+">
 
             <RelativeLayout
                 android:layout_width="match_parent"
@@ -427,9 +429,14 @@
 
                 <TextView
                     android:id="@+id/chemicalName"
-                    android:layout_width="wrap_content"
+                    android:layout_width="180px"
                     android:layout_height="wrap_content"
                     android:layout_centerVertical="true"
+                    android:ellipsize="marquee"
+                    android:focusable="true"
+                    android:focusableInTouchMode="true"
+                    android:marqueeRepeatLimit="marquee_forever"
+                    android:singleLine="true"
                     android:text="化学品名称化学品名称"
                     android:textColor="@color/black"
                     android:textSize="15sp" />

+ 1 - 1
app/src/main/res/layout/item_warning_notice.xml

@@ -43,7 +43,7 @@
             android:layout_height="wrap_content"
             android:layout_weight="0.77"
             android:gravity="center"
-            android:textColor="@color/black"
+            android:textColor="#54A2EA"
             android:textSize="10sp" />
     </LinearLayout>
     <View

+ 0 - 21
gradle/libs.versions.toml

@@ -1,8 +1,5 @@
 [versions]
 agp = "8.6.1"
-baserecyclerviewadapterhelper = "3.0.14"
-eventbus = "3.3.1"
-gson = "2.12.1"
 kotlin = "1.9.0"
 coreKtx = "1.15.0"
 junit = "4.13.2"
@@ -12,34 +9,16 @@ appcompat = "1.7.0"
 material = "1.12.0"
 activity = "1.10.0"
 constraintlayout = "2.2.0"
-multidex = "2.0.1"
-okhttp = "4.12.0"
-retrofit = "2.11.0"
-rxandroid = "3.0.2"
-rxjava = "3.1.10"
-utilcodex = "1.31.1"
 
 [libraries]
-adapter-rxjava3 = { module = "com.squareup.retrofit2:adapter-rxjava3", version.ref = "retrofit" }
 androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
-androidx-multidex = { module = "androidx.multidex:multidex", version.ref = "multidex" }
-baserecyclerviewadapterhelper = { module = "io.github.cymchad:BaseRecyclerViewAdapterHelper", version.ref = "baserecyclerviewadapterhelper" }
-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
-eventbus = { module = "org.greenrobot:eventbus", version.ref = "eventbus" }
-gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
 junit = { group = "junit", name = "junit", version.ref = "junit" }
 ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
 espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
 appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
-logging-interceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
 material = { group = "com.google.android.material", name = "material", version.ref = "material" }
 activity = { group = "androidx.activity", name = "activity", version.ref = "activity" }
 constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
-okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
-retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
-rxandroid = { module = "io.reactivex.rxjava3:rxandroid", version.ref = "rxandroid" }
-rxjava = { module = "io.reactivex.rxjava3:rxjava", version.ref = "rxjava" }
-utilcodex = { module = "com.blankj:utilcodex", version.ref = "utilcodex" }
 
 [plugins]
 android-application = { id = "com.android.application", version.ref = "agp" }

+ 12 - 12
serialport/.cxx/Debug/6e5q1f5t/arm64-v8a/configure_fingerprint.bin

@@ -2,28 +2,28 @@ C/C++ Structured Logb
 `
 ^D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	�ñ«œÒ2 —’¼‘Ò2_
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	Ù„œ½Ò2 —’¼‘Ò2_
 ]
-[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\android_gradle_build.json	�ñ«œÒ2˜
+[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\android_gradle_build.json	Ù„œ½Ò2˜
  œ’¼‘Ò2d
 b
-`D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\android_gradle_build_mini.json	žñ«œÒ2”	 ¼’¼‘Ò2Q
+`D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\android_gradle_build_mini.json	Ù„œ½Ò2”	 ¼’¼‘Ò2Q
 O
-MD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build.ninja	žñ«œÒ2މ 쑼‘Ò2U
+MD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build.ninja	Ù„œ½Ò2މ 쑼‘Ò2U
 S
-QD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build.ninja.txt	žñ«œÒ2Z
+QD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build.ninja.txt	Ù„œ½Ò2Z
 X
-VD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build_file_index.txt	žñ«œÒ2
? ¿’¼‘Ò2[
+VD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\build_file_index.txt	Ù„œ½Ò2
? ¿’¼‘Ò2[
 Y
-WD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\compile_commands.json	žñ«œÒ2¸ 둼‘Ò2_
+WD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\compile_commands.json	Ù„œ½Ò2¸ 둼‘Ò2_
 ]
-[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\compile_commands.json.bin	žñ«œÒ2	… 둼‘Ò2e
+[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\compile_commands.json.bin	Ù„œ½Ò2	… 둼‘Ò2e
 c
-aD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\metadata_generation_command.txt	žñ«œÒ2
+aD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\metadata_generation_command.txt	Ù„œ½Ò2
 ž ¾’¼‘Ò2X
 V
-TD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\prefab_config.json	žñ«œÒ2
( ¾’¼‘Ò2]
+TD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\prefab_config.json	Ù„œ½Ò2
( ¾’¼‘Ò2]
 [
-YD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\symbol_folder_index.txt	žñ«œÒ2
X ¾’¼‘Ò2C
+YD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\arm64-v8a\symbol_folder_index.txt	Ù„œ½Ò2
X ¾’¼‘Ò2C
 A
-?D:\work\HuaXuePin\xn_hxp\serialport\src\main\cpp\CMakeLists.txt	žñ«œÒ2
Ó ÈÒðê©2
+?D:\work\HuaXuePin\xn_hxp\serialport\src\main\cpp\CMakeLists.txt	Ù„œ½Ò2
Ó ÈÒðê©2

+ 12 - 12
serialport/.cxx/Debug/6e5q1f5t/x86/configure_fingerprint.bin

@@ -2,27 +2,27 @@ C/C++ Structured Log\
 Z
 XD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\additional_project_files.txtC
 A
-?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	ß¼‰šÒ2 ï“…‘Ò2Y
+?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint	˜ôû´Ò2 ï“…‘Ò2Y
 W
-UD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\android_gradle_build.json	ß¼‰šÒ2ô	 ô“…‘Ò2^
+UD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\android_gradle_build.json	˜ôû´Ò2ô	 ô“…‘Ò2^
 \
-ZD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\android_gradle_build_mini.json	ß¼‰šÒ2ð –”…‘Ò2K
+ZD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\android_gradle_build_mini.json	˜ôû´Ò2ð –”…‘Ò2K
 I
-GD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build.ninja	ß¼‰šÒ2Õˆ “…‘Ò2O
+GD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build.ninja	˜ôû´Ò2Õˆ “…‘Ò2O
 M
-KD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build.ninja.txt	ß¼‰šÒ2T
+KD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build.ninja.txt	˜ôû´Ò2T
 R
-PD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build_file_index.txt	ß¼‰šÒ2
? ™”…‘Ò2U
+PD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\build_file_index.txt	˜ôû´Ò2
? ™”…‘Ò2U
 S
-QD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\compile_commands.json	ß¼‰šÒ2¯ Á“…‘Ò2Y
+QD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\compile_commands.json	˜ôû´Ò2¯ Á“…‘Ò2Y
 W
-UD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\compile_commands.json.bin	ß¼‰šÒ2	ü Á“…‘Ò2_
+UD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\compile_commands.json.bin	˜ôû´Ò2	ü Á“…‘Ò2_
 ]
-[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\metadata_generation_command.txt	ß¼‰šÒ2
+[D:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\metadata_generation_command.txt	˜ôû´Ò2
 € ˜”…‘Ò2R
 P
-ND:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\prefab_config.json	ß¼‰šÒ2
( ˜”…‘Ò2W
+ND:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\prefab_config.json	˜ôû´Ò2
( ˜”…‘Ò2W
 U
-SD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\symbol_folder_index.txt	ß¼‰šÒ2
R ™”…‘Ò2C
+SD:\work\HuaXuePin\xn_hxp\serialport\.cxx\Debug\6e5q1f5t\x86\symbol_folder_index.txt	˜ôû´Ò2
R ™”…‘Ò2C
 A
-?D:\work\HuaXuePin\xn_hxp\serialport\src\main\cpp\CMakeLists.txt	ß¼‰šÒ2
Ó ÈÒðê©2
+?D:\work\HuaXuePin\xn_hxp\serialport\src\main\cpp\CMakeLists.txt	˜ôû´Ò2
Ó ÈÒðê©2