yy1717
2020-03-12 c125fc0a5ee47ef32db587899d972491231167ee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package safeluck.drive.evaluation.DB.rtktb
 
import android.content.Context
import android.text.TextUtils
import android.util.Log
import androidx.work.Worker
import androidx.work.WorkerParameters
import org.json.JSONObject
import safeluck.drive.evaluation.DB.Constant
import safeluck.drive.evaluation.DB.WorkRoomDataBase
 
class RTKConfigUpdateWorker(context:Context, workerParams: WorkerParameters) :Worker(context, workerParams){
 
    val TAG:String = "RTKConfigUpdateWorker"
 
    override fun doWork(): Result {
 
        var data = inputData.getString(Constant.RTK_CONFIG_UPDATE_JSON)
        Log.i(TAG,"更新RTK_config imei phone sn="+data)
        var imei:String=""
        var phone:String=""
        var sn:String=""
        if (!TextUtils.isEmpty(data)){
            var jsonObject: JSONObject? = null
            jsonObject = JSONObject(data)
            sn = jsonObject.getString(Constant.RTK_CONFIG_SN)
            Log.i(TAG,"sn="+sn)
            imei = sn.substring(1)
            Log.i(TAG,"imei="+imei)
            /**
             * SN与电话号码的关系(以AYKJ-4为例):
            0311200200000011,前4位是设备编码,接下来4位是年月,后面8位是流水号;
            电话号码前2位固定13,第三位取SN的第4位,第4-7位取SN的年月,第8-11位取SN流水号的后4位;即13120020011
             */
            phone = "13"+sn.subSequence(3,8)+sn.substring(sn.length-4,sn.length)
            Log.i(TAG,"phone="+phone)
        }
        var rtkConfigDao = WorkRoomDataBase.getWorkRoomDataBase(applicationContext).rtkConfigDao.also {
            it.update(sn, imei, phone)
        }
        return Result.success()
    }
 
 
}