ccc 1 месяц назад
Родитель
Сommit
3a404af9b0

+ 3 - 3
buildSrc/src/main/kotlin/com/quyunshuo/sbm10/buildsrc/ProjectBuildConfig.kt

@@ -11,10 +11,10 @@ object ProjectBuildConfig {
     const val applicationId = "com.quyunshuo.sbm10"
     const val minSdkVersion = 21
     const val targetSdkVersion = 29
-    const val versionCode = 17//版本号
-    const val versionName = "1.0.17"//版本名
+    const val versionCode = 19//版本号
+    const val versionName = "1.0.19"//版本名
     const val isAppMode = false
-    const val appVersion = 1  //国内外版本修改
+    const val appVersion = 2  //国内外版本修改
 
     /**
      * 项目当前的版本状态

+ 1 - 0
lib_common/src/main/java/com/quyunshuo/sbm10/common/constant/MMKVName.kt

@@ -206,6 +206,7 @@ abstract class MMKVName {
                 }
                 return  path
             }
+
         val MDB_PATH:String
             //MDB通讯地址默认值
             get() {

+ 4 - 0
lib_common/src/main/java/com/quyunshuo/sbm10/common/constant/MqName.kt

@@ -62,4 +62,8 @@ object MqName {
      * 批量修改价格
      */
     var BATCHUPDATEPRICE= "batchUpdatePrice"
+    /**
+     * 远程制作
+     */
+    var PRODUCEGOODS= "produceGoods"
 }

+ 46 - 2
module_home/src/main/java/com/quyunshuo/module/home/activity/main/MainActivity.kt

@@ -1,5 +1,6 @@
 package com.quyunshuo.module.home.activity.main
 
+import android.os.Bundle
 import android.util.Log
 import android.view.View
 import androidx.activity.viewModels
@@ -13,6 +14,7 @@ import com.quyunshuo.module.home.R
 import com.quyunshuo.module.home.databinding.HomeActivityMainBinding
 import com.quyunshuo.module.home.utils.GeTuiUtil
 import com.quyunshuo.sbm10.base.ktx.observeLiveData
+import com.quyunshuo.sbm10.base.utils.GsonUtil
 import com.quyunshuo.sbm10.base.utils.LanguageUtil
 import com.quyunshuo.sbm10.base.utils.RegisterEventBus
 import com.quyunshuo.sbm10.base.utils.SpUtils
@@ -24,6 +26,7 @@ import com.quyunshuo.sbm10.common.ui.BaseActivity
 import dagger.hilt.android.AndroidEntryPoint
 import org.greenrobot.eventbus.Subscribe
 import org.greenrobot.eventbus.ThreadMode
+import org.json.JSONObject
 import java.util.Locale
 
 
@@ -36,7 +39,7 @@ import java.util.Locale
 @RegisterEventBus
 @Route(path = RouteUrl.Main.MainActivity)
 @AndroidEntryPoint
-class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(),LifecycleObserver {
+class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(), LifecycleObserver {
     private var backPressedTime: Long = 0
     private val TAG = "MainActivity"
 
@@ -113,6 +116,7 @@ class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(),Life
 //            }
 //        }
     }
+
     override fun onDestroy() {
         super.onDestroy()
         Log.d(TAG, "onDestroy: ")
@@ -129,7 +133,7 @@ class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(),Life
             MqName.SLEEP -> {
                 Log.d(TAG, "1event: IS_SLEEP:" + message.data)
                 val map = Gson().fromJson(message.data.toString(), JsonObject::class.java)
-                val response=map["responseContent"].toString()
+                val response = map["responseContent"].toString()
                 if (response == "0") {
                     Log.d(TAG, "11event: IS_SLEEP:" + message.data)
                     //关掉休眠
@@ -144,6 +148,7 @@ class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(),Life
                     navController.navigate(R.id.home_sleepfragment)
                 }
             }
+
             MqName.BLOCK -> {
                 if (message.data == "0") {
                     //关掉锁机
@@ -156,6 +161,45 @@ class MainActivity : BaseActivity<HomeActivityMainBinding, MainViewModel>(),Life
                     navController.navigate(R.id.home_blockfragment)
                 }
             }
+
+            MqName.PRODUCEGOODS -> {
+                Log.d(TAG, "PRODUCEGOODSevent: " + message.data.toString())
+                val map = Gson().fromJson(message.data.toString(), JsonObject::class.java)
+                val response = map.getAsJsonObject("responseContent")
+                val productNo = GsonUtil.getAsString(response, "productNo", "E01")
+                val nameChinese: String
+                val nameId: String
+                val imgID: String
+                if (productNo == "E01") {
+                    nameChinese = "甜味爆米花"
+                    nameId = "base_pro_01"
+                    imgID = "product_1"
+                } else {
+                    nameChinese = "甜味爆米花"
+                    nameId = "base_pro_02"
+                    imgID = "product_2"
+                }
+                val status = GsonUtil.getAsString(response, "status", "2")
+                if (status == "1") {
+                    val selectProMap = hashMapOf(
+                        "count" to 1,
+                        "price" to 0.0,
+                        "productNo" to productNo,
+                        "nameChinese" to nameChinese,
+                        "index" to 1,
+                        "nameId" to nameId,
+                        "imgID" to imgID
+                    )
+                    val productList = listOf(selectProMap)
+                    val bundle = Bundle()
+                    bundle.putString("SELECT_PRO", Gson().toJson(productList))
+                    bundle.putDouble("PRICE", 0.0)
+                    bundle.putString("PROMOTION_CODE", "")
+                    val navController = findNavController(mBinding.homeFragmentcontainerview.id)
+                    navController.navigate(R.id.home_makefragment, bundle)
+                }
+            }
+
             else -> {}
         }
     }

+ 2 - 1
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/HomeFragment.kt

@@ -304,7 +304,7 @@ class HomeFragment : BaseFragment<HomeFragmentHomeBinding, HomeFragmentVM>(), Vi
                 return
             }
         }
-//        if (checkToBuy()) return//是否开机
+        if (checkToBuy()) return//是否开机
 //        selectProductDataBean = ProTypeEnum.getEnumByValue(product!!.nameChinese)
         //todo 测试做糖 传递价格等信息过去。
 //        gotoMake(product.nameChinese)
@@ -484,6 +484,7 @@ class HomeFragment : BaseFragment<HomeFragmentHomeBinding, HomeFragmentVM>(), Vi
     private fun gotoMake(name: String, payInfo: PaySuccessBean) {
         Log.d(TAG, "gotoMake: " + mViewModel.getShoppingTrolleyList())
 //       var selectProductDataBean = ProTypeEnum.getEnumByValue(name) //上线需要使用这个。
+        Log.d(TAG, "gotoMake: "+payInfo.payNamber)
         if (product != null) {
             val findNavController = findNavController()
             var bundle = Bundle()

+ 1 - 5
module_home/src/main/java/com/quyunshuo/module/home/fragment/fragment/MakeFragment.kt

@@ -221,7 +221,6 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>(), Li
         jobHandler = CoroutineScope(Dispatchers.Main).launch {
             while (true) {
                 myHandler.sendEmptyMessage(1)
-                Log.d(TAG, "initProgress: 进度条")
                 delay(1000)
             }
         }
@@ -236,7 +235,6 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>(), Li
                 1 -> {
                     if (fragment.mBinding != null) {
                         if (fragment.isMakePoc) {
-                            Log.d(TAG, "initProgress: 进度条1 "+ fragment.plannedSpeed)
                             fragment.plannedSpeed++
                             fragment.mBinding.progressView.setCurrentProgress(fragment.plannedSpeed)
                             val sysTime = System.currentTimeMillis() //获取系统时间
@@ -260,14 +258,12 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>(), Li
 //                            }
                             }
                         } else {
-                            Log.d(TAG, "initProgress: 进度条3 "+ fragment.plannedSpeed)
                             fragment.plannedSpeed = 1
                             fragment.mBinding.progressView.setCurrentProgress(fragment.plannedSpeed)
                             fragment.mBinding.tvProgressDescribe.text =
                                 UiUtil.getStringRes(R.string.make_loading)
                         }
                         if (fragment.plannedSpeed >= fragment.mBinding.progressView.maxProgress) {
-                            Log.d(TAG, "initProgress: 进度条5 "+ fragment.plannedSpeed)
                             fragment.jobHandler?.cancel()
                         }
                     }
@@ -355,7 +351,6 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>(), Li
 
             "04" -> {//开始制作
                 isMakePoc = true
-                Log.d(TAG, "initProgress: 进度条: true")
                 if (isProcessing) {
                     val nameId = UiUtil.getResId(shoppingCartItems[0].nameId, R.string::class.java)
                     if (shoppingCartItems[0].productNo.equals("E01")) {
@@ -376,6 +371,7 @@ class MakeFragment : BaseFragment<HomeFragmentMakeBinding, MakeFragmentVM>(), Li
                     if (shoppingCartItems.isNotEmpty()) {
                         val item = shoppingCartItems[0]
                         if (item.count > 1) {
+                            
                             item.count--
                         } else {
                             shoppingCartItems.removeAt(0)

+ 7 - 0
module_home/src/main/java/com/quyunshuo/module/home/service/GlobalService.kt

@@ -9,9 +9,12 @@ import android.content.Intent
 import android.content.IntentFilter
 import android.media.AudioManager
 import android.os.Build
+import android.os.Bundle
 import android.os.IBinder
 import android.util.Log
 import android.view.WindowManager
+import androidx.navigation.fragment.NavHostFragment.findNavController
+import androidx.navigation.fragment.findNavController
 import com.google.gson.Gson
 import com.google.gson.JsonObject
 import com.google.gson.reflect.TypeToken
@@ -551,6 +554,10 @@ class GlobalService : LifecycleService() {
                 SpUtils.putString(MMKVName.PRODUCT_DATA,Gson().toJson(list))
                 mqttHelper.sendData("response", Gson().toJson(messageEvent.data))
             }
+            MqName.PRODUCEGOODS->{
+                Log.d(TAG, "PRODUCEGOODSevent:1 "+messageEvent.data.toString())
+                mqttHelper.sendData("response", messageEvent.data.toString())
+            }
         }
     }
 

+ 75 - 34
module_home/src/main/java/com/quyunshuo/module/home/utils/RemotePushUtil.kt

@@ -10,6 +10,7 @@ import android.util.Log
 import com.google.gson.Gson
 import com.hboxs.serialport.plc.message.Message
 import com.hboxs.serialport.plc.thread.ThreadSettingParam
+import com.hboxs.serialport.sbc.SBCHeartbeat
 import com.qiniu.android.http.ResponseInfo
 import com.qiniu.android.storage.UpCompletionHandler
 import com.qiniu.android.storage.UploadManager
@@ -22,6 +23,7 @@ import com.quyunshuo.module.home.getui.MqttBaseBean
 import com.quyunshuo.sbm10.base.BaseApplication
 import com.quyunshuo.sbm10.base.BaseApplication.Companion.context
 import com.quyunshuo.sbm10.base.addressenum.PlcSettingAddressEnum
+import com.quyunshuo.sbm10.base.utils.GsonUtil
 import com.quyunshuo.sbm10.base.utils.JsonUtils
 import com.quyunshuo.sbm10.base.utils.SpUtils
 import com.quyunshuo.sbm10.base.utils.XLogUtil
@@ -216,30 +218,32 @@ class RemotePushUtil @Inject constructor() {
             }
 
             MqName.ELIMINATE -> {
-                val map =setMap(msgId,"1")
+                val map = setMap(msgId, "1")
                 EventBus.getDefault().post(ApiMessageEvent(MMKVName.CLEAR_ELIMINATE_REMOTE, map))
             }
 
             MqName.MATERIAL -> {
-                val map =setMap(msgId,DataBean.kind_data)
-                if (DataBean.kind_data=="1"){
-                    SpUtils.putBoolean(MMKVName.MATERIAL,true)
-                }else{
-                    SpUtils.putBoolean(MMKVName.MATERIAL,false)
+                val map = setMap(msgId, DataBean.kind_data)
+                if (DataBean.kind_data == "1") {
+                    SpUtils.putBoolean(MMKVName.MATERIAL, true)
+                } else {
+                    SpUtils.putBoolean(MMKVName.MATERIAL, false)
                 }
                 EventBus.getDefault().post(ApiMessageEvent(MqName.MATERIAL, map))
             }
-            MqName.SLEEP ->{
-                val map =setMap(msgId,DataBean.kind_data)
+
+            MqName.SLEEP -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.SLEEP, map))
             }
-            MqName.RESTARTANDROID ->{
-                if (Build.MODEL.equals("rk3566_r")){
+
+            MqName.RESTARTANDROID -> {
+                if (Build.MODEL.equals("rk3566_r")) {
                     val mManager: XzjhSystemManager =
                         context.getSystemService("xzjh_server") as XzjhSystemManager
                     mManager.xzjhRebootSys(false)
                     XLogUtil.d("重启屏幕成功")
-                }else if (Build.MODEL.equals("rk3288")){
+                } else if (Build.MODEL.equals("rk3288")) {
                     try {
                         val proc = Runtime.getRuntime().exec(arrayOf("su", "-c", "reboot"))
                         proc.waitFor()
@@ -250,23 +254,23 @@ class RemotePushUtil @Inject constructor() {
                 }
             }
 
-            MqName.PASSWORD->{
-                val map =setMap(msgId,DataBean.kind_data)
+            MqName.PASSWORD -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.PASSWORD, map))
             }
 
-            MqName.VOLUME->{
-                val map =setMap(msgId,DataBean.kind_data)
+            MqName.VOLUME -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.VOLUME, map))
             }
 
-            MqName.UPDATEPRODUCT->{
-                val map =setMap(msgId,DataBean.kind_data)
-                Log.d(TAG, "getMqttMessageUPDATEPRODUCT: "+map)
+            MqName.UPDATEPRODUCT -> {
+                val map = setMap(msgId, DataBean.kind_data)
+                Log.d(TAG, "getMqttMessageUPDATEPRODUCT: " + map)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.UPDATEPRODUCT, map))
             }
 
-            MqName.EQESTATUS->{
+            MqName.EQESTATUS -> {
                 //开机了则不能开机了。
                 //LogUtils.logWrite("定时开机:"+open);
 //          EventBus.getDefault().post(new ApiMessageEvent(AlarmClockEnum.OPEN_DEV.getContent(), "开机"));
@@ -283,43 +287,80 @@ class RemotePushUtil @Inject constructor() {
                     "netTime" to ld,
                     "eqeStatus" to DataBean.kind_data
                 )
-                val map =setMap(msgId,responseContent)
+                val map = setMap(msgId, responseContent)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.EQESTATUS, map))
             }
-            MqName.OPENDOOR->{
-                val map =setMap(msgId,DataBean.kind_data)
+
+            MqName.OPENDOOR -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.OPENDOOR, map))
             }
-            MqName.PHONE->{
-                val map =setMap(msgId,DataBean.kind_data)
+
+            MqName.PHONE -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.PHONE, map))
             }
-            MqName.SLEEPDESC->{
+
+            MqName.SLEEPDESC -> {
                 val responseContent = hashMapOf(
                     "sleepDesc" to DataBean.kind_data
                 )
-                val map =setMap(msgId,responseContent)
+                val map = setMap(msgId, responseContent)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.SLEEPDESC, map))
             }
 
-            MqName.UPDATELOGO->{
+            MqName.UPDATELOGO -> {
                 val data = DataBean.kind_data
                 val logo: String
-                if (data=="0000"||data=="1"||data=="2"||data=="7777"){
+                if (data == "0000" || data == "1" || data == "2" || data == "7777") {
                     logo = data
-                }else{
-                    logo = SpUtils.getString(MMKVName.LOGO_TEXT,"7777").toString()
+                } else {
+                    logo = SpUtils.getString(MMKVName.LOGO_TEXT, "7777").toString()
                 }
-                SpUtils.putString(MMKVName.LOGO_TEXT,logo)
+                SpUtils.putString(MMKVName.LOGO_TEXT, logo)
             }
-            MqName.BATCHUPDATEPRICE->{
-                val map =setMap(msgId,DataBean.kind_data)
+
+            MqName.BATCHUPDATEPRICE -> {
+                val map = setMap(msgId, DataBean.kind_data)
                 EventBus.getDefault().post(ApiMessageEvent(MqName.BATCHUPDATEPRICE, map))
             }
+
+            MqName.PRODUCEGOODS -> {
+                val no = GsonUtil.getAsString(DataBean.kind_data,"no","")
+                val productNo = GsonUtil.getAsString(DataBean.kind_data,"productNo","")
+                val status: String
+                var note =""
+                if (SBCHeartbeat.devCode=="02"){
+                    status="1"
+                }else{
+                    status="2"
+                    if (SBCHeartbeat.devCode=="00"){
+                        note = "刚上电"
+                    }else if (SBCHeartbeat.devCode=="01"){
+                        note = "开机中"
+                    }else if (SBCHeartbeat.devCode=="03"){
+                        note = "机器报警中"
+                    }else if(SBCHeartbeat.devCode=="04"||SBCHeartbeat.devCode=="05"||
+                        SBCHeartbeat.devCode=="07"||SBCHeartbeat.devCode=="10"){
+                        note = "机器正在制作中"
+                    }else{
+                        note = "未知错误:"+SBCHeartbeat.devCode
+                    }
+                }
+                val responseContent = hashMapOf(
+                    "note" to note,
+                    "status" to status,
+                    "no" to no,
+                    "productNo" to productNo
+                )
+                val map = setMap(msgId, responseContent)
+                Log.d(TAG, "PRODUCEGOODSgetMqttMessage: "+Gson().toJson(map))
+                EventBus.getDefault().post(ApiMessageEvent(MqName.PRODUCEGOODS, Gson().toJson(map)))
+            }
         }
     }
 
-    private fun setMap(msgId:String,response:Any): HashMap<String, *> {
+    private fun setMap(msgId: String, response: Any): HashMap<String, *> {
         val map = hashMapOf(
             "clientId" to Heartbeat.deviceId,
             "responseContent" to response,

+ 0 - 7
module_home/src/main/java/com/quyunshuo/module/home/weight/ProgressView.kt

@@ -63,7 +63,6 @@ internal class ProgressView : View {
         leafBitmap = BitmapFactory.decodeResource(context.resources, R.drawable.icon_leaf)
         mLeafWidth = leafBitmap.getWidth() //设置玉米的宽
         mLeafHeight = leafBitmap.getHeight() //设置玉米的高
-        Log.e("zhen", " mLeafWidth: $mLeafWidth mLeafHeight: $mLeafHeight")
     }
 
     fun setFirstWidth(width: Int) {
@@ -87,10 +86,6 @@ internal class ProgressView : View {
         mFirstWidth = mSecondWidth - progressPadding - mSecondRadius
         mFirstRadius = mSecondRadius - progressPadding
         mLeafInfos = LeafFactory(mFirstRadius - mLeafWidth, 8).generateLeafs() //叶子数量
-        Log.e(
-            "zhen", " mSecondWidth: " + mSecondWidth + " mHeight: " + mHeight +
-                    " mSecondRadius: " + mSecondRadius + " mFirstWidth: " + mFirstWidth + " mFirstRadius: " + mFirstRadius
-        )
         // 设置叶子对象的初始坐标
         for (i in mLeafInfos!!.indices) {
             val leaf = mLeafInfos!![i]
@@ -100,7 +95,6 @@ internal class ProgressView : View {
     }
 
     fun setCurrentProgress(currentProgress: Int) {
-        Log.e("zhen", "currentProgress: $currentProgress:$maxProgress:$mFirstWidth")
         if (currentProgress > maxProgress) return
         currentValue = currentProgress / maxProgress * mFirstWidth
         invalidate()
@@ -148,7 +142,6 @@ internal class ProgressView : View {
             rectF!!.right = currentValue - mFirstRadius
             rectF!!.bottom = mFirstRadius.toFloat()
             canvas.drawRect(rectF!!, paint!!)
-            Log.d(TAG, rectF!!.right.toString() + ":mFirstWidth onDraw: " + currentValue)
         }
 
         //        drawLeaf(canvas);