Explorar o código

fix 上海更改了油站名称数据

robin %!s(int64=4) %!d(string=hai) anos
pai
achega
5336ba3bf8

+ 2 - 2
app/build.gradle

@@ -13,8 +13,8 @@ android {
         applicationId "com.doverfuelingsolutions.issp"
         minSdkVersion 22
         targetSdkVersion 26
-        versionCode 5
-        versionName "1.1.18"
+        versionCode 6
+        versionName "1.1.19"
         archivesBaseName = versionName + "." + getTime()
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

+ 6 - 5
app/src/main/java/com/doverfuelingsolutions/issp/api/SystemApi.kt

@@ -221,8 +221,10 @@ object SystemApi {
      */
     suspend fun stationLogo(): DFSResult<String> {
         val resultConfig = config(WayneApiConfig.CONFIG_LOGO)
-        if (resultConfig.success && resultConfig.data!!.id.isNotEmpty()) {
-            val resultFile = file(resultConfig.data.id)
+        // 保存油站名称前缀
+        GlobalData.belongName.set(resultConfig.data?.description ?: "")
+        if (resultConfig.success && !resultConfig.data?.configFileDescriptions?.get(0)?.id.isNullOrEmpty()) {
+            val resultFile = file(resultConfig.data!!.configFileDescriptions[0].id)
             if (resultFile.success && resultFile.data != null) {
                 return DFSResult.success(resultFile.data)
             }
@@ -317,15 +319,14 @@ object SystemApi {
     /**
      * 查询配置信息
      */
-    private suspend fun config(type: String) = suspendCoroutine<DFSResult<ResultConfigDescItem>> {
+    private suspend fun config(type: String) = suspendCoroutine<DFSResult<ResultConfig>> {
         serviceConfig.config(GlobalData.businessId.get(), type).enqueue(object : Callback<Array<ResultConfig>> {
             override fun onResponse(call: Call<Array<ResultConfig>>, response: Response<Array<ResultConfig>>) {
                 val code = response.code()
                 val body = response.body()
                 if (code == 200 && !body.isNullOrEmpty() && body[0].configFileDescriptions.isNotEmpty()) {
                     if (body[0].configFileDescriptions.isNotEmpty()) {
-                        val obj = body[0].configFileDescriptions[0]
-                        it.resume(DFSResult.success(ResultConfigDescItem(obj.id, obj.name)))
+                        it.resume(DFSResult.success(body[0]))
                         return
                     }
                 }

+ 1 - 0
app/src/main/java/com/doverfuelingsolutions/issp/api/dto/ResultConfig.kt

@@ -2,5 +2,6 @@ package com.doverfuelingsolutions.issp.api.dto
 
 class ResultConfig(
     val configId: String,
+    val description: String, // 油站的所属前缀名称,如【广东石油 天河站】,前者就是本属性,后者属于站名称
     val configFileDescriptions: Array<ResultConfigDescItem>,
 )

+ 1 - 0
app/src/main/java/com/doverfuelingsolutions/issp/data/GlobalData.kt

@@ -20,6 +20,7 @@ object GlobalData {
 
     val businessId = GlobalDataProvider("", SPKeys.BU_ID)
     val businessName = GlobalDataProvider("", SPKeys.BU_NAME)
+    val belongName = GlobalDataProvider("", SPKeys.BELONG_NAME)
     val stationTel = GlobalDataProvider("", SPKeys.STATION_TEL)
     val stationLogoFileName = GlobalDataProvider("", SPKeys.STATION_LOGO_FILE)
 

+ 1 - 1
app/src/main/java/com/doverfuelingsolutions/issp/driver/printer/ComPrintManager.java

@@ -59,7 +59,7 @@ public class ComPrintManager implements PrintManager, DataReceivedListener {
         serialControl.send(PrintCmd.PrintFeedline(2));
         serialControl.send(PrintCmd.SetAlignment(0));
         if (!TextUtils.isEmpty(GlobalData.INSTANCE.getBusinessName().get())) {
-            serialControl.send(PrintCmd.PrintString("加油站名称:" + GlobalData.INSTANCE.getBusinessName().get(), 0));
+            serialControl.send(PrintCmd.PrintString("加油站名称:" + GlobalData.INSTANCE.getBelongName().get() + " " + GlobalData.INSTANCE.getBusinessName().get(), 0));
         }
         if (!GlobalData.INSTANCE.getStationTel().get().isEmpty()) {
             serialControl.send(PrintCmd.PrintString("联系电话:" + GlobalData.INSTANCE.getStationTel().get(), 0));

+ 1 - 0
app/src/main/java/com/doverfuelingsolutions/issp/utils/sp/SPKeys.kt

@@ -15,6 +15,7 @@ class SPKeys {
         val ACCESS_TOKEN_EXPIRE: String = StringUtil.get(R.string.sp_access_token_expire)
         val BU_ID: String = StringUtil.get(R.string.sp_bu_id)
         val BU_NAME: String = StringUtil.get(R.string.sp_bu_name)
+        val BELONG_NAME: String = StringUtil.get(R.string.sp_belong_name)
         val STATION_TEL: String = StringUtil.get(R.string.sp_station_tel)
         val STATION_LOGO_FILE: String = StringUtil.get(R.string.sp_station_logo_file)
 

+ 6 - 1
app/src/main/java/com/doverfuelingsolutions/issp/view/MainActivity.kt

@@ -236,7 +236,12 @@ class MainActivity : AppCompatActivity(),
     }
 
     private fun initView() {
-        mainViewModel.stationName.value = GlobalData.businessName.get().replaceFirst(" ", "\n")
+        mainViewModel.stationName.value = GlobalData.belongName.get().let {
+            if (it.isEmpty())
+                GlobalData.businessName.get()
+            else
+                "$it\n${GlobalData.businessName.get()}"
+        }
         if (GlobalData.stationLogoFileName.get().isNotEmpty()) {
             binding.stationLogo.setImageURI(Uri.fromFile(File(filesDir, GlobalData.stationLogoFileName.get())))
         }

+ 1 - 0
app/src/main/res/values/keys.xml

@@ -7,6 +7,7 @@
     <string name="sp_access_token_expire">access_token_expire</string>
     <string name="sp_bu_id">bu_id</string>
     <string name="sp_bu_name">bu_name</string>
+    <string name="sp_belong_name">belong_name</string>
     <string name="sp_station_tel">station_tel</string>
     <string name="sp_station_logo_file">station_logo_file</string>
     <string name="sp_sn">sn</string>