فهرست منبع

Merge branch 'release/1.2.10'

Zhenghanjv 9 ماه پیش
والد
کامیت
8ced317779

+ 10 - 0
.idea/deploymentTargetSelector.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="deploymentTargetSelector">
+    <selectionStates>
+      <SelectionState runConfigName="app">
+        <option name="selectionMode" value="DROPDOWN" />
+      </SelectionState>
+    </selectionStates>
+  </component>
+</project>

+ 2 - 5
.idea/gradle.xml

@@ -4,10 +4,8 @@
   <component name="GradleSettings">
     <option name="linkedExternalProjectsSettings">
       <GradleProjectSettings>
-        <option name="testRunner" value="PLATFORM" />
-        <option name="distributionType" value="DEFAULT_WRAPPED" />
         <option name="externalProjectPath" value="$PROJECT_DIR$" />
-        <option name="gradleJvm" value="1.8" />
+        <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
         <option name="modules">
           <set>
             <option value="$PROJECT_DIR$" />
@@ -17,8 +15,7 @@
             <option value="$PROJECT_DIR$/waynelib_" />
           </set>
         </option>
-        <option name="resolveModulePerSourceSet" value="false" />
-        <option name="useQualifiedModuleNames" value="true" />
+        <option name="resolveExternalAnnotations" value="false" />
       </GradleProjectSettings>
     </option>
   </component>

+ 6 - 0
.idea/kotlinc.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="KotlinJpsPluginSettings">
+    <option name="version" value="1.6.21" />
+  </component>
+</project>

+ 10 - 0
.idea/migrations.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectMigrations">
+    <option name="MigrateToGradleLocalJavaHome">
+      <set>
+        <option value="$PROJECT_DIR$" />
+      </set>
+    </option>
+  </component>
+</project>

+ 3 - 3
app/build.gradle

@@ -8,7 +8,7 @@ plugins {
 android {
     signingConfigs {
         debug {
-            storeFile file('C:\\Users\\10076532\\AndroidStudioProjects\\issp-dev\\issp\\signature.jks')
+            storeFile file('C:\\myFiles\\code\\androidProjects\\issp\\signature.jks')
             storePassword '123456'
             keyAlias 'isspt'
             keyPassword '123456'
@@ -21,8 +21,8 @@ android {
         applicationId "com.doverfuelingsolutions.issp"
         minSdkVersion 22
         targetSdkVersion 26
-        versionCode 21
-        versionName "1.2.08"
+        versionCode 23
+        versionName "1.2.10"
         archivesBaseName = versionName + "." + getTime()
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

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

@@ -130,11 +130,14 @@ object SystemApi {
      * 查找云端当前订单状态
      */
     suspend fun getOrderStateForClound(dc: DeviceClass) = suspendCoroutine<DFSResult<CheckResponse>> {
-        val checkRequest =
-            CheckRequest(dc.transactionSeqNo, dc.pumpNo.toString(), GlobalData.serialNumber.get())
-
-        DFSLog.i("查找云端订单状态:${dc.transactionSeqNo}-${dc.pumpNo.toString()}-${GlobalData.serialNumber.get()}")
-        serviceCheck.checkOrderState(dc.transactionSeqNo, dc.pumpNo.toString(), GlobalData.serialNumber.get()).enqueue(object :Callback<CheckResponse>{
+        val releaseToken = dc.releaseTokenAttribute ?: ""
+        val pumpInfo = if (dc.pumpNo != null) dc.pumpNo.toString() else ""
+        val amount = if (dc.amount != null) dc.myAmount else ""
+        val transactionSeqNo = dc.transactionSeqNo ?: ""
+        val time = dc.endTimeStamp ?: ""
+
+        DFSLog.i("查找云端订单状态:${releaseToken}-${amount}-${transactionSeqNo}-${pumpInfo}-${time}-${GlobalData.serialNumber.get()}")
+        serviceCheck.checkOrderState(time,releaseToken,amount,transactionSeqNo, pumpInfo, GlobalData.serialNumber.get()).enqueue(object :Callback<CheckResponse>{
             override fun onResponse(call: Call<CheckResponse>, response: Response<CheckResponse>) {
                 val code = response.code()
                 val body = response.body()

+ 3 - 0
app/src/main/java/com/doverfuelingsolutions/issp/api/service/ServiceCheck.kt

@@ -12,6 +12,9 @@ interface ServiceCheck {
 
     @POST(WayneApiConfig.CHECK_ORDER_STATE)
     fun checkOrderState(
+        @Query("FuelItemTransactionEndTime") fuelItemTransactionEndTime: String,
+        @Query("FuelItemFdcReleaseTokenAttribute") fuelItemFdcReleaseTokenAttribute: String,
+        @Query("FuelItemOriginalGrossAmount") fuelItemOriginalGrossAmount:String,
         @Query("SeqNo") seqNo:String,
         @Query("NozzleId") nozzleId:String,
         @Query("sn") sn: String,

+ 2 - 0
app/src/main/java/com/doverfuelingsolutions/issp/driver/scan/ComScanKeyManager.java

@@ -22,6 +22,7 @@ public class ComScanKeyManager implements ScanManager, DataReceivedListener {
 
     @Override
     public void onDataReceived(byte[] data, ScanValueListener scanValueListener) {
+        DFSLog.Companion.i("【扫码器】收到回调数据",data);
         if (data == null || data.length <= 2) return;
         /*
 //        try {
@@ -55,6 +56,7 @@ public class ComScanKeyManager implements ScanManager, DataReceivedListener {
             }
             if (code == null) return;
             if (null != scanValueListener) {
+                DFSLog.Companion.i("【扫码器】解析到的码:" + code);
                 this.scanValueListener = scanValueListener;
                 stop();
 

+ 2 - 0
app/src/main/java/com/doverfuelingsolutions/issp/driver/serialPort/SerialControl.java

@@ -2,6 +2,7 @@ package com.doverfuelingsolutions.issp.driver.serialPort;
 
 import com.doverfuelingsolutions.issp.driver.printer.PrintStatusListen;
 import com.doverfuelingsolutions.issp.driver.scan.ScanValueListener;
+import com.wayne.www.waynelib.util.log.DFSLog;
 
 public class SerialControl extends SerialHelper {
     private final static String TAG = "SerialControl";
@@ -29,6 +30,7 @@ public class SerialControl extends SerialHelper {
                 return;
             }
             if (null != printStatusListen) {
+                DFSLog.Companion.i("【扫码器】回调数据");
                 listener.onDataReceived(ComRecData.bRec, printStatusListen);
                 return;
             }

+ 2 - 0
app/src/main/java/com/doverfuelingsolutions/issp/driver/serialPort/SerialHelper.java

@@ -122,6 +122,7 @@ public abstract class SerialHelper {
                     byte[] buffer = new byte[512];
                     int size = mInputStream.read(buffer);
                     if (size > 0) {
+                        DFSLog.Companion.i("【扫码器】获取到输入流");
                         ComBean ComRecData = new ComBean(sPort, buffer, size);
                         onDataReceived(ComRecData);
                     }
@@ -134,6 +135,7 @@ public abstract class SerialHelper {
                 } catch (Throwable e) {
                     e.printStackTrace();
 //                    Utils.postException(e);
+                    DFSLog.Companion.e(e);
                     return;
                 }
             }

+ 9 - 0
app/src/main/java/com/doverfuelingsolutions/issp/view/MainActivity.kt

@@ -361,10 +361,19 @@ class MainActivity : AppCompatActivity(),
                     val info = item.split("-")
                     val pumpId = info[0].toInt()
                     val transactionNo = info[1]
+                    val token = info[2]
+                    val orderListByPump = SPUtil.getOrderListByPump(pumpId)
+                    val order = orderListByPump.find {
+                                it.pumpNo == pumpId &&
+                                it.transactionSeqNo == transactionNo &&
+                                (it.releaseTokenAttribute == token || it.releaseTokenElement == token) }
                     async {
                         val deviceClass = DeviceClass()
                         deviceClass.pumpNo = pumpId
                         deviceClass.transactionSeqNo = transactionNo
+                        deviceClass.releaseTokenAttribute = token
+                        deviceClass.amount = order?.amount
+                        deviceClass.endTimeStamp = order?.endTimeStamp
                         SystemApi.getOrderStateForClound(deviceClass)
                     }
                 }

+ 45 - 0
app/src/test/java/com/doverfuelingsolutions/issp/ExampleUnitTest.kt

@@ -5,6 +5,7 @@ import com.doverfuelingsolutions.issp.driver.lib.PrintManager
 import com.doverfuelingsolutions.issp.utils.thread.ThreadUtil
 import com.wayne.www.waynelib.fdc.FdcClient
 import com.wayne.www.waynelib.fdc.OnFdcServiceResponseReceivedListener
+import com.wayne.www.waynelib.fdc.message.DeviceClass
 import com.wayne.www.waynelib.fdc.message.ServiceResponse
 import kotlinx.coroutines.Deferred
 import kotlinx.coroutines.GlobalScope
@@ -13,6 +14,7 @@ import kotlinx.coroutines.launch
 import org.junit.Test
 
 import org.junit.Assert.*
+import java.math.BigDecimal
 import kotlin.coroutines.resume
 import kotlin.coroutines.suspendCoroutine
 
@@ -65,4 +67,47 @@ class ExampleUnitTest {
             }
         }
     }
+
+    @Test
+    fun test1(){
+        val arrayListOf = arrayListOf<DeviceClass>()
+        for (index in 1 .. 5) {
+            val deviceClass = DeviceClass()
+            deviceClass.pumpNo = index
+            deviceClass.transactionSeqNo = "123"
+            deviceClass.releaseTokenAttribute = "123"
+            deviceClass.endTimeStamp = "123456"
+            deviceClass.amount = BigDecimal("0.01")
+            arrayListOf.add(deviceClass)
+        }
+
+        val order1 = arrayListOf.find {
+            it.pumpNo == 1 &&
+                    it.transactionSeqNo == "123" &&
+                    (it.releaseTokenAttribute == "123" || it.releaseTokenElement == "123") }
+        val deviceClass1 = DeviceClass()
+        deviceClass1.pumpNo = 1
+        deviceClass1.transactionSeqNo = "123"
+        deviceClass1.releaseTokenAttribute = "123"
+        deviceClass1.amount = order1?.amount
+        deviceClass1.endTimeStamp = order1?.endTimeStamp
+
+
+        val order2 = arrayListOf.find {
+            it.pumpNo == 10 &&
+                    it.transactionSeqNo == "123" &&
+                    (it.releaseTokenAttribute == "123" || it.releaseTokenElement == "123") }
+        val deviceClass2 = DeviceClass()
+        deviceClass2.pumpNo = 1
+        deviceClass2.transactionSeqNo = "123"
+        deviceClass2.releaseTokenAttribute = "123"
+        deviceClass2.amount = order2?.amount
+        deviceClass2.endTimeStamp = order2?.endTimeStamp
+
+        println("${deviceClass1.pumpNo} ${deviceClass1.transactionSeqNo} ${deviceClass1.releaseTokenAttribute}" +
+                "${deviceClass1.amount} ${deviceClass1.endTimeStamp}")
+
+        println("${deviceClass2.pumpNo} ${deviceClass2.transactionSeqNo} ${deviceClass2.releaseTokenAttribute}" +
+                "${deviceClass2.amount} ${deviceClass2.endTimeStamp}")
+    }
 }