Compare commits

..
35 Commits
Author SHA1 Message Date
lijia df7a29e54b h5title优化 2024-11-21 11:07:34 +08:00
lijia 7c63bb1d39 驾驶证新增字段 2024-11-21 10:40:09 +08:00
lijia 8bbae1cf92 驾驶证ocr上传 2024-11-21 10:13:35 +08:00
lijia 97e0c5f629 行驶证存在添加绑定逻辑 2024-11-20 16:40:26 +08:00
lijia 95667723e9 行驶证接口对接1 2024-11-20 10:36:35 +08:00
lijia 1fd37db329 行驶证接口对接 2024-11-20 09:57:03 +08:00
lijia 51075e72c8 道路运输证ocr中交 2024-11-20 08:32:05 +08:00
lijia 5bc0a041de 中交-身份证 驾驶证 行驶证 从业资格 2024-11-19 16:46:02 +08:00
lijia c11974e9c1 e签宝实名认证回调,首页缺失证件提醒优化, 2024-11-19 08:37:40 +08:00
lijia ccf70796a3 优化运单列表状态显示 2024-11-11 09:14:58 +08:00
lijia 7b3abfeafc 72版本 2024-10-29 14:55:28 +08:00
lijia 9dc92a1bc7 添加权限说明,推送冲突注释 2024-10-29 14:51:58 +08:00
lijia 5fdaa0b213 动态获取权限添加顶部文字说明 2024-10-28 17:27:21 +08:00
lijia 446aed1574 首页不强制权限申请 2024-10-28 15:14:23 +08:00
lijia 6f573aee98 定位服务启动失败 2024-10-28 10:00:42 +08:00
lijia 15bec78cb8 定位权限优化 2024-10-25 17:29:27 +08:00
lijia 3a44129b03 首页权限获取优化 2024-10-25 15:54:13 +08:00
lijia 96819e08b4 70版本 2024-10-23 08:36:48 +08:00
lijia db9990eec0 执行中运单完成状态优化,运单详情偶发不刷新,登录数据类型控制 2024-10-22 17:15:34 +08:00
lijia a2be579ae9 装卸货状态不一致处理 2024-10-21 17:16:20 +08:00
lijia 873e0b81cf 经纬度异常处理 2024-10-21 11:02:47 +08:00
lijia 4cba8a8246 首页证件补传重复弹出优化 2024-10-18 09:01:26 +08:00
lijia ba86cfb234 取消运单导致运单操作异常处理 2024-10-14 16:58:40 +08:00
lijia 6d2656a1f7 高德轨迹显示异常处理 2024-10-14 10:56:05 +08:00
lijia d9ec95fbc8 切换账号执行运单显示异常,上传银行卡loading显示优化 2024-10-12 10:50:18 +08:00
lijia 3c65d1f691 loading优化 2024-09-24 15:33:39 +08:00
lijia c8b6e75d7d 钱包页面自动刷新 2024-09-23 09:56:37 +08:00
lijia 0e8ea7147f 银行卡添加日弹判断 2024-09-11 16:32:27 +08:00
lijia 9364706365 升级69版 2024-09-10 11:12:47 +08:00
lijia d385764b56 取消运单优化 2024-09-04 16:05:05 +08:00
lijia eeadd1d196 首页添加执行中运单跳转功能 2024-09-04 09:23:31 +08:00
lijia 0e9224a034 用户注册添加银行卡逻辑,首页添加银行卡提示入口 2024-08-27 09:27:30 +08:00
lijia a20d49ecdf 协议https无法打开,临时切回http 2024-08-05 15:00:02 +08:00
lijia 7a89c41ed2 68版 2024-08-05 09:00:26 +08:00
lijia 894246456a 添加运单金额隐藏逻辑 2024-08-01 15:10:45 +08:00
77 changed files with 4914 additions and 918 deletions
+5 -4
View File
@@ -33,12 +33,13 @@ android {
// } // }
} }
defaultConfig { defaultConfig {
applicationId "com.arpa.hndahesudintocctmsdriver" applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 24 minSdkVersion 24
targetSdkVersion 30 targetSdkVersion 30
versionCode 67 versionCode 72
versionName "3.3.7" versionName "3.4.2"
flavorDimensions "CHANNEL_VALUE" flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon" flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -105,7 +106,8 @@ android {
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可. JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
] ]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"") buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"https://app.test.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"http://192.168.1.118:8080/api/\"")
// buildConfigField("String", "BASE_URL", "\"http://linux.local:8080/api/\"")
buildConfigField "boolean", "isTest", "true" buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用 //APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试" resValue "string", "appName", "司机测试"
@@ -228,6 +230,5 @@ dependencies {
implementation 'com.github.getActivity:XToast:8.2' implementation 'com.github.getActivity:XToast:8.2'
implementation project(path: ':mylibrary') implementation project(path: ':mylibrary')
implementation 'com.lk.mapsdk:sdk-full:2.3.7'
} }
Binary file not shown.
+40 -28
View File
@@ -2,7 +2,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.arpa.hndahesudintocctmsdriver"> package="com.arpa.hndahesudintocctmsdriver">
<uses-permission android:name="android.permission.CALL_PHONE" /> <uses-permission android:name="android.permission.CALL_PHONE" />
<!-- 白名单 --> <!-- 白名单 -->
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
@@ -15,8 +14,6 @@
<!--播音--> <!--播音-->
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 地图截屏图片保存等 -->
<uses-permission android:name="android.permission.READ_MEDIA_PERMISSION" />
<!-- 极光 --> <!-- 极光 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_PROFILE" /> <uses-permission android:name="android.permission.READ_PROFILE" />
@@ -69,24 +66,19 @@
android:name="com/alct/mdp" android:name="com/alct/mdp"
android:required="false" /> android:required="false" />
<meta-data
android:name="com.lk.lbsapi.API_KEY"
android:value="EE1721986040968235494A762772C95410D9881BB10790FC0BCRFNPFKW4K6697" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.MainActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.MainActivity"
android:configChanges="orientation|keyboardHidden|screenSize" android:configChanges="orientation|keyboardHidden|screenSize"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait"></activity> android:screenOrientation="portrait" ></activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.WithdrawalActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.WithdrawalActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderAllActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderAllActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
@@ -101,11 +93,11 @@
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity"
android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden"
android:windowSoftInputMode="adjustPan|stateHidden" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -150,13 +142,13 @@
</activity> </activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AuthQualificationActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AuthQualificationActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderListActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.OrderListActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -169,14 +161,14 @@
</activity> </activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity"
android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan|stateHidden"
android:windowSoftInputMode="adjustPan|stateHidden" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity"
android:exported="true" android:exported="true"
@@ -200,10 +192,10 @@
</activity> </activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.VideoReleaseActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.VideoReleaseActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
@@ -211,13 +203,13 @@
</activity> </activity>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.HomePageActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.drivercircle.HomePageActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.alert.VehicleChoiceActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.alert.VehicleChoiceActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"/>
<activity <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.web.WebActivity" android:name="com.arpa.hndahesudintocctmsdriver.ui.web.WebActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait"
@@ -274,7 +266,7 @@
<meta-data <meta-data
android:name="com.amap.api.v2.apikey" android:name="com.amap.api.v2.apikey"
android:value="${GAODEKEY}" /> android:value="${GAODEKEY}" />
<!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />--> <!-- android:value="702eaa84675618b8eb69298d9fd42ca3" />-->
<service android:name="com.amap.api.location.APSService"></service> <service android:name="com.amap.api.location.APSService"></service>
@@ -370,11 +362,31 @@
<activity <activity
android:name=".H5Activity" android:name=".H5Activity"
android:launchMode="singleTask" android:screenOrientation="portrait"
android:screenOrientation="portrait"> android:launchMode="singleTask">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="demo"
android:path="/signBack"
android:scheme="esign" />
<data
android:host="demo"
android:path="/realBack"
android:scheme="esign" />
</intent-filter>
</activity>
<activity
android:name=".H5Activity2"
android:screenOrientation="portrait"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
@@ -23,9 +23,6 @@ import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.gyf.cactus.Cactus; import com.gyf.cactus.Cactus;
import com.gyf.cactus.callback.CactusBackgroundCallback; import com.gyf.cactus.callback.CactusBackgroundCallback;
import com.gyf.cactus.callback.CactusCallback; import com.gyf.cactus.callback.CactusCallback;
import com.lk.mapsdk.base.mapapi.initializer.InitializerOptions;
import com.lk.mapsdk.base.mapapi.initializer.SDKInitializer;
import com.lk.mapsdk.base.mapapi.model.CoordType;
import com.tencent.bugly.crashreport.CrashReport; import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.commonsdk.UMConfigure; import com.umeng.commonsdk.UMConfigure;
@@ -52,18 +49,6 @@ public class App extends Application {
CommonBaseLibrary.getInstance().init(this, Api.BASE_URL); CommonBaseLibrary.getInstance().init(this, Api.BASE_URL);
CrashReport.initCrashReport(getApplicationContext(), "0fa55ffad8", false); CrashReport.initCrashReport(getApplicationContext(), "0fa55ffad8", false);
String state = SPUtil.getSP(con, "state_data", "authorization_state"); String state = SPUtil.getSP(con, "state_data", "authorization_state");
InitializerOptions options = new InitializerOptions();
// 设置是否使用Https网络请求,默认使用
options.setHttpsEnable(true);
// 设置坐标系,默认GCJ02
options.setCoordType(CoordType.GCJ02);
// SDK 初始化
SDKInitializer.initialization(getApplicationContext(), options);
// Log 开关使能
SDKInitializer.setLogEnable(true);
if ("1".equals(state)) { if ("1".equals(state)) {
try { try {
Context context = getApplicationContext(); Context context = getApplicationContext();
@@ -78,8 +63,8 @@ public class App extends Application {
} }
//在使用SDK各组件之前初始化context信息,传入ApplicationContext //在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化 // 路由初始化
JVerificationInterface.setDebugMode(true); // JVerificationInterface.setDebugMode(true);
JVerificationInterface.init(this, 5000, (code, msg) -> Log.d("tag", "code = " + code + " msg = " + msg)); // JVerificationInterface.init(this, 5000, (code, msg) -> Log.d("tag", "code = " + code + " msg = " + msg));
//友盟 //友盟
//设置非debug版本开启 //设置非debug版本开启
if (!isDebugVersion(con)) { if (!isDebugVersion(con)) {
@@ -3,6 +3,7 @@ package com.arpa.hndahesudintocctmsdriver;
import android.Manifest; import android.Manifest;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.net.Uri; import android.net.Uri;
@@ -40,10 +41,12 @@ import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop; import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop;
import com.arpa.hndahesudintocctmsdriver.event.FaceEvent; import com.arpa.hndahesudintocctmsdriver.event.FaceEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary; import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils; import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.h5.base.WBH5FaceVerifySDK; import com.esign.esignsdk.h5.base.WBH5FaceVerifySDK;
@@ -73,25 +76,38 @@ public class H5Activity extends AppCompatActivity {
String curUrl = null; String curUrl = null;
boolean viewFile = false; boolean viewFile = false;
boolean isGoCar = false;
long time = System.currentTimeMillis(); long time = System.currentTimeMillis();
ValueCallback<Uri> uploadMessage; ValueCallback<Uri> uploadMessage;
private ValueCallback<Uri[]> uploadMessageAboveL; private ValueCallback<Uri[]> uploadMessageAboveL;
private final static int FILE_CHOOSER_RESULT_CODE = 10000; private final static int FILE_CHOOSER_RESULT_CODE = 10000;
private Context ctx;
private boolean isOk = false;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_h5); super.setContentView(R.layout.activity_h5);
ctx = this;
mWebView = findViewById(R.id.webview); mWebView = findViewById(R.id.webview);
ImageView back = findViewById(R.id.back); ImageView back = findViewById(R.id.back);
TextView close = findViewById(R.id.close); TextView close = findViewById(R.id.close);
TextView tvTitle = findViewById(R.id.tv_title);
WebSettings webSetting = mWebView.getSettings(); WebSettings webSetting = mWebView.getSettings();
String title = getIntent().getStringExtra("title");
if (!TextUtils.isEmpty(title)){
tvTitle.setText(title);
}
back.setOnClickListener(v -> { back.setOnClickListener(v -> {
if (isOk){
ActivityUtils.finishToActivity(MainActivity.class,false);
return;
}
if (mWebView.canGoBack()) { if (mWebView.canGoBack()) {
mWebView.goBack(); mWebView.goBack();
} else { } else {
@@ -100,6 +116,10 @@ public class H5Activity extends AppCompatActivity {
}); });
close.setOnClickListener(v -> { close.setOnClickListener(v -> {
if (isOk){
ActivityUtils.finishToActivity(MainActivity.class,false);
return;
}
if (mWebView.canGoBack()) { if (mWebView.canGoBack()) {
mWebView.goBack(); mWebView.goBack();
} else { } else {
@@ -114,6 +134,9 @@ public class H5Activity extends AppCompatActivity {
webSetting.setLoadWithOverviewMode(true); webSetting.setLoadWithOverviewMode(true);
webSetting.setAllowFileAccess(true); webSetting.setAllowFileAccess(true);
webSetting.setAppCacheEnabled(true); webSetting.setAppCacheEnabled(true);
webSetting.setAllowContentAccess(true);
webSetting.setLoadsImagesAutomatically(true);
webSetting.setMediaPlaybackRequiresUserGesture(true);
String appCachePath = getApplication().getCacheDir().getAbsolutePath(); String appCachePath = getApplication().getCacheDir().getAbsolutePath();
webSetting.setAppCachePath(appCachePath); webSetting.setAppCachePath(appCachePath);
webSetting.setDatabaseEnabled(true); webSetting.setDatabaseEnabled(true);
@@ -180,6 +203,7 @@ public class H5Activity extends AppCompatActivity {
private void processExtraData() { private void processExtraData() {
Intent intent = getIntent(); Intent intent = getIntent();
isGoCar = intent.getBooleanExtra("isGoCar", false);
Uri uri = intent.getData(); Uri uri = intent.getData();
Log.e("test", "===" + uri); Log.e("test", "===" + uri);
if (uri != null) { if (uri != null) {
@@ -225,6 +249,17 @@ public class H5Activity extends AppCompatActivity {
Uri uri = Uri.parse(url); Uri uri = Uri.parse(url);
Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " "); Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " ");
if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) { if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) {
if (isGoCar&&url.startsWith("http://agreement.dahehuoyun.com/#/1ba5c216/912f4c9587/5eb5184653/6ef9")){
isOk = true;
view.loadUrl(url);
new MessageUtils().showSimCenPop(ctx, "个人信息上传成功,请添加车辆信息!", "去添加",() -> {
Intent in = new Intent(ctx, CertificatesActivity.class);
in.putExtra("index", 2);
startActivity(in);
ActivityUtils.finishToActivity(MainActivity.class,false);
});
return true;
}
view.loadUrl(url); view.loadUrl(url);
return true; return true;
} else if (uri.getScheme().equals("js") || uri.getScheme().equals("jsbridge")) { } else if (uri.getScheme().equals("js") || uri.getScheme().equals("jsbridge")) {
@@ -261,6 +296,12 @@ public class H5Activity extends AppCompatActivity {
// 实名认证结束 返回按钮/倒计时返回/暂不认证 // 实名认证结束 返回按钮/倒计时返回/暂不认证
boolean status = uri.getBooleanQueryParameter("status", false); boolean status = uri.getBooleanQueryParameter("status", false);
if (status) { if (status) {
//认证成功返回
new Handler().postDelayed(() -> {
FaceEvent he = new FaceEvent("刷脸成功");
EventBus.getDefault().post(he);
finish();
}, 800);
//认证成功返回 //认证成功返回
Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show(); Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show();
finish(); finish();
@@ -278,6 +319,12 @@ public class H5Activity extends AppCompatActivity {
boolean status = uri.getBooleanQueryParameter("status", false); boolean status = uri.getBooleanQueryParameter("status", false);
if (status) { if (status) {
//认证成功返回 //认证成功返回
//认证成功返回
new Handler().postDelayed(() -> {
FaceEvent he = new FaceEvent("刷脸成功");
EventBus.getDefault().post(he);
finish();
}, 800);
Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show(); Toast.makeText(H5Activity.this, "认证成功", Toast.LENGTH_LONG).show();
finish(); finish();
} }
@@ -0,0 +1,485 @@
package com.arpa.hndahesudintocctmsdriver;
import static android.webkit.WebSettings.LOAD_NO_CACHE;
import android.Manifest;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.webkit.ConsoleMessage;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import android.webkit.JsPromptResult;
import android.webkit.JsResult;
import android.webkit.PermissionRequest;
import android.webkit.SslErrorHandler;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import com.arpa.hndahesudintocctmsdriver.event.FaceEvent;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StatusBar;
import com.esign.esignsdk.h5.base.WBH5FaceVerifySDK;
import org.greenrobot.eventbus.EventBus;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import pub.devrel.easypermissions.EasyPermissions;
import qiu.niorgai.StatusBarCompat;
/**
* @author xingtian on 2019/3/25
*/
public class H5Activity2 extends AppCompatActivity {
public static final int REQUEST_PERMISSION_STORAGE = 0x00;
public static final int REQUEST_PERMISSION_CAMERA = 0x01;
public final static String SCHEMA_REAL = "esign://demo/realBack";
public final static String SCHEMA_SIGN = "esign://demo/signBack";
private WebView mWebView;
String curUrl = null;
boolean viewFile = false;
long time = System.currentTimeMillis();
ValueCallback<Uri> uploadMessage;
private ValueCallback<Uri[]> uploadMessageAboveL;
private final static int FILE_CHOOSER_RESULT_CODE = 10000;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_h5);
StatusBarCompat.setStatusBarColor(this, ContextCompat.getColor(this, R.color.white), 0);
StatusBar.changeToLightStatusBar(this); //黑色 下边白色
mWebView = findViewById(R.id.webview);
// ImageView back = findViewById(R.id.back);
// TextView close = findViewById(R.id.close);
WebSettings webSetting = mWebView.getSettings();
// back.setOnClickListener(v -> {
// if (mWebView.canGoBack()) {
// mWebView.goBack();
// } else {
// finish();
// }
// });
//
// close.setOnClickListener(v -> {
// if (mWebView.canGoBack()) {
// mWebView.goBack();
// } else {
// finish();
// }
// });
webSetting.setJavaScriptEnabled(true);
webSetting.setDomStorageEnabled(true);
// webSetting.setAppCacheMaxSize(1024 * 1024 * 8);
webSetting.setUseWideViewPort(true);
webSetting.setLoadWithOverviewMode(true);
webSetting.setAllowFileAccess(true);
// webSetting.setAppCacheEnabled(true);
String appCachePath = getApplication().getCacheDir().getAbsolutePath();
// webSetting.setAppCachePath(appCachePath);
webSetting.setDatabaseEnabled(true);
webSetting.setCacheMode(LOAD_NO_CACHE);
webSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebView.setWebContentsDebuggingEnabled(true);
}
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= 21) {
cookieManager.setAcceptThirdPartyCookies(mWebView, true);
}
cookieManager.setAcceptCookie(true);
mWebView.setWebViewClient(new MyWebViewClient());
mWebView.setWebChromeClient(new H5FaceWebChromeClient(this));
WBH5FaceVerifySDK.getInstance().setWebViewSettings(mWebView, getApplicationContext());
processExtraData();
}
@Override
protected void onPause() {
super.onPause();
mWebView.onPause();
}
@Override
protected void onResume() {
super.onResume();
mWebView.onResume();
}
@Override
protected void onStop() {
super.onStop();
mWebView.stopLoading();
}
@Override
protected void onDestroy() {
super.onDestroy();
try {
if (mWebView != null) {
mWebView.removeAllViews();
mWebView.destroy();
}
} catch (Exception e) {
}
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
processExtraData();
}
private void processExtraData() {
Intent intent = getIntent();
Uri uri = intent.getData();
Log.e("test", "===" + uri);
if (uri != null) {
// 芝麻认证刷脸结束返回获取后续操作页面地址
// String callbackUrl = uri.getQueryParameter("callback");
String callbackUrl = uri.getQueryParameter("realnameUrl");
if (!TextUtils.isEmpty(callbackUrl)) {
try {
mWebView.loadUrl(URLDecoder.decode(callbackUrl, "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
} else {
String url = intent.getStringExtra("url");
viewFile = intent.getBooleanExtra("view_file", false);
if (url.startsWith("alipay")) {
try {
Intent intent2 = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent2);
return;
} catch (Exception e) {
}
}
if (curUrl == null) {
curUrl = url;
}
mWebView.loadUrl(url);
}
}
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url == null) {
return false;
}
Uri uri = Uri.parse(url);
Log.e("test", "要加载的地址:" + uri.getScheme() + " " + url + " ");
if (uri.getScheme().equals("http") || uri.getScheme().equals("https")) {
view.loadUrl(url);
return true;
} else if (uri.getScheme().equals("js") || uri.getScheme().equals("jsbridge")) {
// js://signCallback?signResult=true 签署结果
if (uri.getAuthority().equals("signCallback")) {
if (viewFile) {
view.loadUrl(curUrl);
return true;
} else {
if (url.contains("signResult")) {
boolean signResult = uri.getBooleanQueryParameter("signResult", false);
Toast.makeText(H5Activity2.this, "签署结果: " + " signResult = " + signResult, Toast.LENGTH_LONG).show();
} else {
String tsignCode = uri.getQueryParameter("tsignCode");
if ("0".equals(tsignCode)) {
tsignCode = "签署成功";
} else {
tsignCode = "签署失败";
}
Toast.makeText(H5Activity2.this, "签署结果: " + tsignCode, Toast.LENGTH_LONG).show();
}
}
finish();
}
//js://tsignRealBack?esignAppScheme=esign://app/callback&serviceId=854677892133554052&verifycode=4a52e2af0d0abfb7b285c4f05b5af133&status=true&passed=true
//实名结果
if (uri.getAuthority().equals("tsignRealBack")) {
//实名结果字段
if (uri.getQueryParameter("verifycode") != null) {
String realVerifyCode = uri.getQueryParameter("verifycode");
}
// 实名认证结束 返回按钮/倒计时返回/暂不认证
boolean status = uri.getBooleanQueryParameter("status", false);
if (status) {
//认证成功返回
new Handler().postDelayed(() -> {
FaceEvent he = new FaceEvent("刷脸成功");
EventBus.getDefault().post(he);
finish();
}, 800);
Toast.makeText(H5Activity2.this, "认证成功", Toast.LENGTH_LONG).show();
// finish();
}
}
return true;
} else if (url.startsWith(SCHEMA_REAL)) {
//esign://app/realBack&serviceId=854677892133554052&verifycode=4a52e2af0d0abfb7b285c4f05b5af133&status=true&passed=true
//实名结果
if (uri.getQueryParameter("verifycode") != null) {
String realVerifyCode = uri.getQueryParameter("verifycode");
}
// 实名认证结束 返回按钮/倒计时返回/暂不认证
boolean status = uri.getBooleanQueryParameter("status", false);
if (status) {
//认证成功返回
new Handler().postDelayed(() -> {
FaceEvent he = new FaceEvent("刷脸成功");
EventBus.getDefault().post(he);
finish();
}, 800);
Toast.makeText(H5Activity2.this, "认证成功", Toast.LENGTH_LONG).show();
// finish();
}
return true;
} else if (url.startsWith(SCHEMA_SIGN)) {
// js://signCallback?signResult=true 签署结果
if (url.contains("signResult")) {
boolean signResult = uri.getBooleanQueryParameter("signResult", false);
Toast.makeText(H5Activity2.this, "签署结果: " + " signResult = " + signResult, Toast.LENGTH_LONG).show();
} else {
String tsignCode = uri.getQueryParameter("tsignCode");
if ("0".equals(tsignCode)) {
//延时1.5秒跳转运单详情页面
// new Handler().postDelayed(() -> {
// FaceEvent he = new FaceEvent("刷脸成功");
// EventBus.getDefault().post(he);
// finish();
// }, 800);
tsignCode = "签署成功";
} else {
tsignCode = "签署失败";
}
Toast.makeText(H5Activity2.this, "签署结果: " + tsignCode, Toast.LENGTH_LONG).show();
}
// finish();
return true;
} else if (uri.getScheme().equals("alipays")) {
// 跳转到支付宝刷脸
// alipays://platformapi/startapp?appId=20000067&pd=NO&url=https%3A%2F%2Fzmcustprod.zmxy.com.cn%2Fcertify%2Fbegin.htm%3Ftoken%3DZM201811133000000050500431389414
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
} catch (Exception e) {
return false;
}
} else {
return false;
}
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
// super.onReceivedSslError(view, handler, error);
handler.proceed();
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
time = System.currentTimeMillis();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
}
}
public class H5FaceWebChromeClient extends WebChromeClient {
private Activity activity;
public H5FaceWebChromeClient(Activity mActivity) {
this.activity = mActivity;
}
@Override
public void onReceivedTitle(WebView view, String title) {
}
@Override
public boolean onJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result) {
return super.onJsPrompt(view, url, message, defaultValue, result);
}
@Override
public boolean onJsConfirm(WebView view, String url, String message, JsResult result) {
return super.onJsConfirm(view, url, message, result);
}
@TargetApi(8)
@Override
public boolean onConsoleMessage(ConsoleMessage consoleMessage) {
return super.onConsoleMessage(consoleMessage);
}
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) {
return;
}
uploadMessage = uploadMsg;
}
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
if (WBH5FaceVerifySDK.getInstance().recordVideoForApiBelow21(uploadMsg, acceptType, activity)) {
return;
}
uploadMessage = uploadMessage;
}
@TargetApi(21)
@Override
public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
if (WBH5FaceVerifySDK.getInstance().recordVideoForApi21(webView, filePathCallback, activity, fileChooserParams)) {
return true;
}
uploadMessageAboveL = filePathCallback;
recordVideo(H5Activity2.this);
return true;
}
@Override
public void onPermissionRequest(PermissionRequest request) {
request.grant(request.getResources());
request.getOrigin();
}
}
public void recordVideo(Activity activity) {
if (EasyPermissions.hasPermissions(activity, Manifest.permission.CAMERA)) {
try {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.putExtra("android.intent.extras.CAMERA_FACING", 1); // 调用前置摄像头
activity.startActivityForResult(intent, FILE_CHOOSER_RESULT_CODE);
} catch (Exception e) {
e.printStackTrace();
}
} else {
EasyPermissions.requestPermissions(activity, "请同意使用相机功能", REQUEST_PERMISSION_CAMERA, Manifest.permission.CAMERA);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mWebView.canGoBack()) {
mWebView.goBack();
} else {
finish();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (WBH5FaceVerifySDK.getInstance().receiveH5FaceVerifyResult(requestCode, resultCode, data)) {
return;
}
if (requestCode == FILE_CHOOSER_RESULT_CODE) {
if (null == uploadMessage && null == uploadMessageAboveL) {
return;
}
Uri result = data == null || resultCode != RESULT_OK ? null : data.getData();
if (uploadMessageAboveL != null) {
if (resultCode == RESULT_OK) {
uploadMessageAboveL.onReceiveValue(new Uri[]{result});
uploadMessageAboveL = null;
} else {
uploadMessageAboveL.onReceiveValue(new Uri[]{});
uploadMessageAboveL = null;
}
} else if (uploadMessage != null) {
if (resultCode == RESULT_OK) {
uploadMessage.onReceiveValue(result);
uploadMessage = null;
} else {
uploadMessage.onReceiveValue(Uri.EMPTY);
uploadMessage = null;
}
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
WBH5FaceVerifySDK.getInstance().recordVideo(this);
}
}
@@ -0,0 +1,386 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.io.Serializable;
/**
* @ClassName CarInfoBean2
* @Author john
* @Date 2024/11/20 15:43
* @Description TODO
*/
public class CarInfoBean2 implements Serializable {
private int code;
private DataDTO data;
private String msg;
private String remark;
private int res;
private boolean success;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataDTO getData() {
return data;
}
public void setData(DataDTO data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getRes() {
return res;
}
public void setRes(int res) {
this.res = res;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public static class DataDTO {
private String allAuality;
private String allCapacity;
private String approvedCapacity;
private String auditStatus;
private String auditTime;
private String backImage;
private String backStatus;
private String backTime;
private String carId;
private String carNumber;
private String checkRecord;
private String createTime;
private String dateIssue;
private String engineNumber;
private String fileNumber;
private String frontImage;
private String frontStatus;
private String frontTime;
private String fuelType;
private String id;
private String model;
private String nature;
private String organizationName;
private String owner;
private String personCapacity;
private String registerDate;
private String remark;
private String size;
private String threeImage;
private String threeImageStatus;
private String towAuality;
private String trailer;
private String type;
private String vehicleAxis;
private String vehicleNumber;
public String getAllAuality() {
return allAuality;
}
public void setAllAuality(String allAuality) {
this.allAuality = allAuality;
}
public String getAllCapacity() {
return allCapacity;
}
public void setAllCapacity(String allCapacity) {
this.allCapacity = allCapacity;
}
public String getApprovedCapacity() {
return approvedCapacity;
}
public void setApprovedCapacity(String approvedCapacity) {
this.approvedCapacity = approvedCapacity;
}
public String getAuditStatus() {
return auditStatus;
}
public void setAuditStatus(String auditStatus) {
this.auditStatus = auditStatus;
}
public String getAuditTime() {
return auditTime;
}
public void setAuditTime(String auditTime) {
this.auditTime = auditTime;
}
public String getBackImage() {
return backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public String getBackStatus() {
return backStatus;
}
public void setBackStatus(String backStatus) {
this.backStatus = backStatus;
}
public String getBackTime() {
return backTime;
}
public void setBackTime(String backTime) {
this.backTime = backTime;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
public String getCarNumber() {
return carNumber;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getCheckRecord() {
return checkRecord;
}
public void setCheckRecord(String checkRecord) {
this.checkRecord = checkRecord;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getDateIssue() {
return dateIssue;
}
public void setDateIssue(String dateIssue) {
this.dateIssue = dateIssue;
}
public String getEngineNumber() {
return engineNumber;
}
public void setEngineNumber(String engineNumber) {
this.engineNumber = engineNumber;
}
public String getFileNumber() {
return fileNumber;
}
public void setFileNumber(String fileNumber) {
this.fileNumber = fileNumber;
}
public String getFrontImage() {
return frontImage;
}
public void setFrontImage(String frontImage) {
this.frontImage = frontImage;
}
public String getFrontStatus() {
return frontStatus;
}
public void setFrontStatus(String frontStatus) {
this.frontStatus = frontStatus;
}
public String getFrontTime() {
return frontTime;
}
public void setFrontTime(String frontTime) {
this.frontTime = frontTime;
}
public String getFuelType() {
return fuelType;
}
public void setFuelType(String fuelType) {
this.fuelType = fuelType;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getNature() {
return nature;
}
public void setNature(String nature) {
this.nature = nature;
}
public String getOrganizationName() {
return organizationName;
}
public void setOrganizationName(String organizationName) {
this.organizationName = organizationName;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getPersonCapacity() {
return personCapacity;
}
public void setPersonCapacity(String personCapacity) {
this.personCapacity = personCapacity;
}
public String getRegisterDate() {
return registerDate;
}
public void setRegisterDate(String registerDate) {
this.registerDate = registerDate;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getThreeImage() {
return threeImage;
}
public void setThreeImage(String threeImage) {
this.threeImage = threeImage;
}
public String getThreeImageStatus() {
return threeImageStatus;
}
public void setThreeImageStatus(String threeImageStatus) {
this.threeImageStatus = threeImageStatus;
}
public String getTowAuality() {
return towAuality;
}
public void setTowAuality(String towAuality) {
this.towAuality = towAuality;
}
public String getTrailer() {
return trailer;
}
public void setTrailer(String trailer) {
this.trailer = trailer;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getVehicleAxis() {
return vehicleAxis;
}
public void setVehicleAxis(String vehicleAxis) {
this.vehicleAxis = vehicleAxis;
}
public String getVehicleNumber() {
return vehicleNumber;
}
public void setVehicleNumber(String vehicleNumber) {
this.vehicleNumber = vehicleNumber;
}
}
}
@@ -57,12 +57,15 @@ public class DriverAuthDataBean {
private String idcardValidity; private String idcardValidity;
private String dirverAllowType; private String dirverAllowType;
private int idcardPhoto; private int idcardPhoto;
private String bankImgUrl;
private String bankName;
private String cardNo;
private int idcardBackPhoto; private int idcardBackPhoto;
private Object idcardPhotoHold; private Object idcardPhotoHold;
private String idcardAddress; private String idcardAddress;
private String idcardName; private String idcardName;
private int idcardSex; private int idcardSex;
private int idCardStatus; private int idCardStatus;//身份证认证状态;-1未提交 0待认证 1认证通过 2认证失败
private int driverLicenseStatus; private int driverLicenseStatus;
private int qualificationCertificateStatus; private int qualificationCertificateStatus;
private String idCardReason; private String idCardReason;
@@ -141,6 +144,30 @@ public class DriverAuthDataBean {
private Object mbindStatus; private Object mbindStatus;
private Object mreason; private Object mreason;
public String getBankImgUrl() {
return bankImgUrl;
}
public void setBankImgUrl(String bankImgUrl) {
this.bankImgUrl = bankImgUrl;
}
public String getBankName() {
return bankName;
}
public void setBankName(String bankName) {
this.bankName = bankName;
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo;
}
public int getId() { public int getId() {
return id; return id;
} }
@@ -0,0 +1,328 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.io.Serializable;
/**
* @ClassName DriverUpBean
* @Author john
* @Date 2024/11/20 09:20
* @Description TODO
*/
public class DriverUpBean implements Serializable {
private String frontImageUrl;
private String backImageUrl;
private String carNumber;
private String type;
private String owner;
private String vehicleNumber;
private String carLong;
private String carWidth;
private String carHeight;
private String carId;
private String carPlateColor;
private String carEnergyTyp;
private DataDTO zjObj;
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
public String getFrontImageUrl() {
return frontImageUrl;
}
public void setFrontImageUrl(String frontImageUrl) {
this.frontImageUrl = frontImageUrl;
}
public String getBackImageUrl() {
return backImageUrl;
}
public void setBackImageUrl(String backImageUrl) {
this.backImageUrl = backImageUrl;
}
public String getCarNumber() {
return carNumber;
}
public void setCarNumber(String carNumber) {
this.carNumber = carNumber;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner = owner;
}
public String getVehicleNumber() {
return vehicleNumber;
}
public void setVehicleNumber(String vehicleNumber) {
this.vehicleNumber = vehicleNumber;
}
public String getCarLong() {
return carLong;
}
public void setCarLong(String carLong) {
this.carLong = carLong;
}
public String getCarWidth() {
return carWidth;
}
public void setCarWidth(String carWidth) {
this.carWidth = carWidth;
}
public String getCarHeight() {
return carHeight;
}
public void setCarHeight(String carHeight) {
this.carHeight = carHeight;
}
public String getCarPlateColor() {
return carPlateColor;
}
public void setCarPlateColor(String carPlateColor) {
this.carPlateColor = carPlateColor;
}
public String getCarEnergyTyp() {
return carEnergyTyp;
}
public void setCarEnergyTyp(String carEnergyTyp) {
this.carEnergyTyp = carEnergyTyp;
}
public DataDTO getZjObj() {
return zjObj;
}
public void setZjObj(DataDTO zjObj) {
this.zjObj = zjObj;
}
public static class DataDTO {
private String approveTon;
private String recordId;
private String note;
private String passengers;
private String vclDrwTn;
private String overallDimen;
private String vclN;
private String enTn;
private String loadTon;
private String inspectionRecord;
private String barCode;
private String issuingAuthority;
private String regTime;
private String address;
private String ownerName;
private String engine;
private String vin;
private String licensedateOfissue;
private String vcltype;
private String vclBrand;
private String natureOfUsage;
public String getApproveTon() {
return approveTon;
}
public void setApproveTon(String approveTon) {
this.approveTon = approveTon;
}
public String getRecordId() {
return recordId;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public String getPassengers() {
return passengers;
}
public void setPassengers(String passengers) {
this.passengers = passengers;
}
public String getVclDrwTn() {
return vclDrwTn;
}
public void setVclDrwTn(String vclDrwTn) {
this.vclDrwTn = vclDrwTn;
}
public String getOverallDimen() {
return overallDimen;
}
public void setOverallDimen(String overallDimen) {
this.overallDimen = overallDimen;
}
public String getVclN() {
return vclN;
}
public void setVclN(String vclN) {
this.vclN = vclN;
}
public String getEnTn() {
return enTn;
}
public void setEnTn(String enTn) {
this.enTn = enTn;
}
public String getLoadTon() {
return loadTon;
}
public void setLoadTon(String loadTon) {
this.loadTon = loadTon;
}
public String getInspectionRecord() {
return inspectionRecord;
}
public void setInspectionRecord(String inspectionRecord) {
this.inspectionRecord = inspectionRecord;
}
public String getBarCode() {
return barCode;
}
public void setBarCode(String barCode) {
this.barCode = barCode;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getRegTime() {
return regTime;
}
public void setRegTime(String regTime) {
this.regTime = regTime;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getEngine() {
return engine;
}
public void setEngine(String engine) {
this.engine = engine;
}
public String getVin() {
return vin;
}
public void setVin(String vin) {
this.vin = vin;
}
public String getLicensedateOfissue() {
return licensedateOfissue;
}
public void setLicensedateOfissue(String licensedateOfissue) {
this.licensedateOfissue = licensedateOfissue;
}
public String getVcltype() {
return vcltype;
}
public void setVcltype(String vcltype) {
this.vcltype = vcltype;
}
public String getVclBrand() {
return vclBrand;
}
public void setVclBrand(String vclBrand) {
this.vclBrand = vclBrand;
}
public String getNatureOfUsage() {
return natureOfUsage;
}
public void setNatureOfUsage(String natureOfUsage) {
this.natureOfUsage = natureOfUsage;
}
}
}
@@ -55,6 +55,33 @@ public class OCRBankBean {
private String validDate; private String validDate;
private String bankCardType; private String bankCardType;
private String bankName; private String bankName;
private String expiryDate;
private String type;
private String cardNumber;
public String getExpiryDate() {
return expiryDate;
}
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getCardNumber() {
return cardNumber;
}
public void setCardNumber(String cardNumber) {
this.cardNumber = cardNumber;
}
public int getId() { public int getId() {
return id; return id;
@@ -60,6 +60,33 @@ public class OCRCardBackBean {
private String startTime; private String startTime;
private String endTime; private String endTime;
private String organizationName; private String organizationName;
private String validFrom;
private String validTo;
private String issue;
public String getIssue() {
return issue;
}
public void setIssue(String issue) {
this.issue = issue;
}
public String getValidFrom() {
return validFrom;
}
public void setValidFrom(String validFrom) {
this.validFrom = validFrom;
}
public String getValidTo() {
return validTo;
}
public void setValidTo(String validTo) {
this.validTo = validTo;
}
public int getId() { public int getId() {
return id; return id;
@@ -63,6 +63,51 @@ public class OCRCardBean {
private String cardId; private String cardId;
private String birthday; private String birthday;
private String sex; private String sex;
private String ethnicity;
private String idcard;
private String birth;
private String validFrom;
private String validTo;
public String getEthnicity() {
return ethnicity;
}
public void setEthnicity(String ethnicity) {
this.ethnicity = ethnicity;
}
public String getIdcard() {
return idcard;
}
public void setIdcard(String idcard) {
this.idcard = idcard;
}
public String getBirth() {
return birth;
}
public void setBirth(String birth) {
this.birth = birth;
}
public String getValidFrom() {
return validFrom;
}
public void setValidFrom(String validFrom) {
this.validFrom = validFrom;
}
public String getValidTo() {
return validTo;
}
public void setValidTo(String validTo) {
this.validTo = validTo;
}
public int getId() { public int getId() {
return id; return id;
@@ -58,6 +58,42 @@ public class OCRDrivingLicenseBackBean {
private int id; private int id;
private String url; private String url;
private String archivesName; private String archivesName;
private String fileNumber;
private String record;
private String name;
private String issuingAuthority;
public String getFileNumber() {
return fileNumber;
}
public void setFileNumber(String fileNumber) {
this.fileNumber = fileNumber;
}
public String getRecord() {
return record;
}
public void setRecord(String record) {
this.record = record;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public int getId() { public int getId() {
return id; return id;
@@ -68,6 +68,70 @@ public class OCRDrivingLicenseBean {
private String allowType; private String allowType;
private String sex; private String sex;
private String startTime; private String startTime;
private String beginDate;
private String endDate;
private String firstGetDocDate;
private String idcard;
private String quasiDriveType;
private String issuingAuthority;
private String nationality;
public String getBeginDate() {
return beginDate;
}
public void setBeginDate(String beginDate) {
this.beginDate = beginDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getFirstGetDocDate() {
return firstGetDocDate;
}
public void setFirstGetDocDate(String firstGetDocDate) {
this.firstGetDocDate = firstGetDocDate;
}
public String getIdcard() {
return idcard;
}
public void setIdcard(String idcard) {
this.idcard = idcard;
}
public String getQuasiDriveType() {
return quasiDriveType;
}
public void setQuasiDriveType(String quasiDriveType) {
this.quasiDriveType = quasiDriveType;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getNationality() {
return nationality;
}
public void setNationality(String nationality) {
this.nationality = nationality;
}
public int getId() { public int getId() {
return id; return id;
@@ -0,0 +1,200 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import java.util.List;
/**
* @ClassName OCRQualiBean
* @Author john
* @Date 2024/11/19 15:53
* @Description TODO
*/
public class OCRQualiBean {
private int code;
private DataDTO data;
private String msg;
private String remark;
private int res;
private boolean success;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataDTO getData() {
return data;
}
public void setData(DataDTO data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getRes() {
return res;
}
public void setRes(int res) {
this.res = res;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public static class DataDTO {
private String address;
private List<QualificationCategoryListDTO> qualification_category_list;
private String nationality;
private String issuing_authority;
private String sex;
private String birth_date;
private String integrity_assessment_info;
private String name;
private String driving_class;
private String certificate_number;
private String continuing_education_info;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public List<QualificationCategoryListDTO> getQualification_category_list() {
return qualification_category_list;
}
public void setQualification_category_list(List<QualificationCategoryListDTO> qualification_category_list) {
this.qualification_category_list = qualification_category_list;
}
public String getNationality() {
return nationality;
}
public void setNationality(String nationality) {
this.nationality = nationality;
}
public String getIssuing_authority() {
return issuing_authority;
}
public void setIssuing_authority(String issuing_authority) {
this.issuing_authority = issuing_authority;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirth_date() {
return birth_date;
}
public void setBirth_date(String birth_date) {
this.birth_date = birth_date;
}
public String getIntegrity_assessment_info() {
return integrity_assessment_info;
}
public void setIntegrity_assessment_info(String integrity_assessment_info) {
this.integrity_assessment_info = integrity_assessment_info;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDriving_class() {
return driving_class;
}
public void setDriving_class(String driving_class) {
this.driving_class = driving_class;
}
public String getCertificate_number() {
return certificate_number;
}
public void setCertificate_number(String certificate_number) {
this.certificate_number = certificate_number;
}
public String getContinuing_education_info() {
return continuing_education_info;
}
public void setContinuing_education_info(String continuing_education_info) {
this.continuing_education_info = continuing_education_info;
}
public static class QualificationCategoryListDTO {
private String issue_date;
private String expiry_date;
private String category;
public String getIssue_date() {
return issue_date;
}
public void setIssue_date(String issue_date) {
this.issue_date = issue_date;
}
public String getExpiry_date() {
return expiry_date;
}
public void setExpiry_date(String expiry_date) {
this.expiry_date = expiry_date;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
}
}
}
@@ -0,0 +1,177 @@
package com.arpa.hndahesudintocctmsdriver.bean;
/**
* @ClassName OCRRoadBean
* @Author john
* @Date 2024/11/19 17:05
* @Description TODO
*/
public class OCRRoadBean {
private int code;
private DataDTO data;
private String msg;
private String remark;
private int res;
private boolean success;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public DataDTO getData() {
return data;
}
public void setData(DataDTO data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public int getRes() {
return res;
}
public void setRes(int res) {
this.res = res;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public static class DataDTO {
private String vehicleWeight;
private String issuingAuthority;
private String ownerName;
private String businessCertificate;
private String economicType;
private String businessScope;
private String vehicleNumber;
private String licenseNumber;
private String vehicleSize;
private String ownerAddress;
private String issueDate;
private String vehicleType;
public String getVehicleWeight() {
return vehicleWeight;
}
public void setVehicleWeight(String vehicleWeight) {
this.vehicleWeight = vehicleWeight;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getBusinessCertificate() {
return businessCertificate;
}
public void setBusinessCertificate(String businessCertificate) {
this.businessCertificate = businessCertificate;
}
public String getEconomicType() {
return economicType;
}
public void setEconomicType(String economicType) {
this.economicType = economicType;
}
public String getBusinessScope() {
return businessScope;
}
public void setBusinessScope(String businessScope) {
this.businessScope = businessScope;
}
public String getVehicleNumber() {
return vehicleNumber;
}
public void setVehicleNumber(String vehicleNumber) {
this.vehicleNumber = vehicleNumber;
}
public String getLicenseNumber() {
return licenseNumber;
}
public void setLicenseNumber(String licenseNumber) {
this.licenseNumber = licenseNumber;
}
public String getVehicleSize() {
return vehicleSize;
}
public void setVehicleSize(String vehicleSize) {
this.vehicleSize = vehicleSize;
}
public String getOwnerAddress() {
return ownerAddress;
}
public void setOwnerAddress(String ownerAddress) {
this.ownerAddress = ownerAddress;
}
public String getIssueDate() {
return issueDate;
}
public void setIssueDate(String issueDate) {
this.issueDate = issueDate;
}
public String getVehicleType() {
return vehicleType;
}
public void setVehicleType(String vehicleType) {
this.vehicleType = vehicleType;
}
}
}
@@ -71,6 +71,114 @@ public class OCRVehicleBackLicenseBean {
private String fileNumber; private String fileNumber;
private String carNumber; private String carNumber;
private int licenseId; private int licenseId;
private String note;
private String passengers;
private String vclDrwTn;
private String overallDimen;
private String vclN;
private String enTn;
private String loadTon;
private String inspectionRecord;
private String barCode;
private String approveTon;
private String recordId;
private String issuingAuthority;
public String getNote() {
return note;
}
public void setNote(String note) {
this.note = note;
}
public String getPassengers() {
return passengers;
}
public void setPassengers(String passengers) {
this.passengers = passengers;
}
public String getVclDrwTn() {
return vclDrwTn;
}
public void setVclDrwTn(String vclDrwTn) {
this.vclDrwTn = vclDrwTn;
}
public String getOverallDimen() {
return overallDimen;
}
public void setOverallDimen(String overallDimen) {
this.overallDimen = overallDimen;
}
public String getVclN() {
return vclN;
}
public void setVclN(String vclN) {
this.vclN = vclN;
}
public String getEnTn() {
return enTn;
}
public void setEnTn(String enTn) {
this.enTn = enTn;
}
public String getLoadTon() {
return loadTon;
}
public void setLoadTon(String loadTon) {
this.loadTon = loadTon;
}
public String getInspectionRecord() {
return inspectionRecord;
}
public void setInspectionRecord(String inspectionRecord) {
this.inspectionRecord = inspectionRecord;
}
public String getBarCode() {
return barCode;
}
public void setBarCode(String barCode) {
this.barCode = barCode;
}
public String getApproveTon() {
return approveTon;
}
public void setApproveTon(String approveTon) {
this.approveTon = approveTon;
}
public String getRecordId() {
return recordId;
}
public void setRecordId(String recordId) {
this.recordId = recordId;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getIsSave() { public String getIsSave() {
return isSave; return isSave;
@@ -63,6 +63,96 @@ public class OCRVehicleLicenseBean {
private String url; private String url;
private String vehicleNumber; private String vehicleNumber;
private String licenseId; private String licenseId;
private String ownerName;
private String regTime;
private String issuingAuthority;
private String engine;
private String vclN;
private String licensedateOfissue;
private String vin;
private String vcltype;
private String vclBrand;
private String natureOfUsage;
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getRegTime() {
return regTime;
}
public void setRegTime(String regTime) {
this.regTime = regTime;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getEngine() {
return engine;
}
public void setEngine(String engine) {
this.engine = engine;
}
public String getVclN() {
return vclN;
}
public void setVclN(String vclN) {
this.vclN = vclN;
}
public String getLicensedateOfissue() {
return licensedateOfissue;
}
public void setLicensedateOfissue(String licensedateOfissue) {
this.licensedateOfissue = licensedateOfissue;
}
public String getVin() {
return vin;
}
public void setVin(String vin) {
this.vin = vin;
}
public String getVcltype() {
return vcltype;
}
public void setVcltype(String vcltype) {
this.vcltype = vcltype;
}
public String getVclBrand() {
return vclBrand;
}
public void setVclBrand(String vclBrand) {
this.vclBrand = vclBrand;
}
public String getNatureOfUsage() {
return natureOfUsage;
}
public void setNatureOfUsage(String natureOfUsage) {
this.natureOfUsage = natureOfUsage;
}
public String getLicenseId() { public String getLicenseId() {
return licenseId; return licenseId;
@@ -0,0 +1,56 @@
package com.arpa.hndahesudintocctmsdriver.bean;
/**
* @ClassName WaybillStatusBean
* @Author john
* @Date 2024/10/14 15:40
* @Description TODO
*/
public class WaybillStatusBean {
private int res;
private int code;
private boolean success;
private String msg;
private String data;
public int getRes() {
return res;
}
public void setRes(int res) {
this.res = res;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
@@ -0,0 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.cuspop
/**
* @ClassName MyRequestCallback
* @Author john
* @Date 2024/10/28 17:19
* @Description TODO
*/
interface MyRequestCallback{
fun onResult(allGranted: Boolean, grantedList: List<String?>, deniedList: List<String?>)
}
@@ -6,6 +6,7 @@ import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity
import com.lxj.xpopup.core.CenterPopupView import com.lxj.xpopup.core.CenterPopupView
import kotlinx.android.synthetic.main.pop_sim_center.view.* import kotlinx.android.synthetic.main.pop_sim_center.view.*
import org.bouncycastle.jcajce.provider.symmetric.Rijndael
/** /**
@@ -17,10 +18,14 @@ import kotlinx.android.synthetic.main.pop_sim_center.view.*
class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickListener { class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickListener {
lateinit var content: String lateinit var content: String
lateinit var titleLeft: String
lateinit var titleReft: String
lateinit var secMessage: String lateinit var secMessage: String
constructor(context: Context, message: String) : this(context) { constructor(context: Context, message: String,titleLeft:String = "取消",titleRight: String = "去注册") : this(context) {
content = message content = message
this.titleReft = titleRight
this.titleLeft = titleLeft
} }
@@ -28,6 +33,8 @@ class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickLis
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
tvCancel.text = titleLeft
tvOk.text = titleReft
tvCancel.setOnClickListener(this) tvCancel.setOnClickListener(this)
tvOk.setOnClickListener(this) tvOk.setOnClickListener(this)
tvContent.text = "$content" tvContent.text = "$content"
@@ -0,0 +1,36 @@
package com.arpa.hndahesudintocctmsdriver.cuspop
import android.content.Context
import com.arpa.hndahesudintocctmsdriver.R
import com.lxj.xpopup.core.PositionPopupView
import com.lxj.xpopup.enums.DragOrientation
import kotlinx.android.synthetic.main.popup_qq_msg.view.tvMessage
import kotlinx.android.synthetic.main.popup_qq_msg.view.tvTitle
/**
* Description: 自定义自由定位Position弹窗
* Create by dance, at 2019/6/14
*/
class TopMsgPopup(context: Context,title:String, message: String) : PositionPopupView(context) {
private var message: String
private var title: String
init {
this.message = message
this.title = title
}
override fun getImplLayoutId(): Int {
return R.layout.popup_qq_msg
}
override fun getDragOrientation(): DragOrientation {
return DragOrientation.DragToLeft
}
override fun onCreate() {
super.onCreate()
tvMessage.text = message
tvTitle.text = title
}
}
@@ -0,0 +1,33 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class HomeWaybillEvent {
private int message;
public int getMessage() {
return message;
}
public void setMessage(int message) {
this.message = message;
}
public HomeWaybillEvent() {
}
/**
*
* @param message 1:刷新运单列表
*/
public HomeWaybillEvent(int message) {
this.message = message;
}
}
@@ -0,0 +1,22 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/20 14:43
* @description:
*/
public class WalletEvent {
private String message;
public WalletEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@@ -13,6 +13,7 @@ import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.parts.AuthParts; import com.arpa.hndahesudintocctmsdriver.parts.AuthParts;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil; import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.FqBean; import com.arpa.hndahesudintocctmsdriver.bean.FqBean;
@@ -42,6 +43,10 @@ public class ALProcess {
public static void verification(Context con){ public static void verification(Context con){
DriverAuthDataBean auth= AuthParts.getAuth(con); DriverAuthDataBean auth= AuthParts.getAuth(con);
if (auth==null){
return;
}
Identity idy=new Identity(); Identity idy=new Identity();
//企业代码 //企业代码
idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE); idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);
@@ -3,6 +3,7 @@ package com.arpa.hndahesudintocctmsdriver.report;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationClient;
@@ -78,6 +79,9 @@ public class JTTProcess {
ShippingNoteInfo sni=new ShippingNoteInfo(); ShippingNoteInfo sni=new ShippingNoteInfo();
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0); StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1); StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
if (TextUtils.isEmpty(endWay.getLatitude())||TextUtils.isEmpty(endWay.getLongitude())){
return;
}
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber()); sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
sni.setSerialNumber("0000"); sni.setSerialNumber("0000");
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude())); sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
@@ -143,6 +147,9 @@ public class JTTProcess {
ShippingNoteInfo sni=new ShippingNoteInfo(); ShippingNoteInfo sni=new ShippingNoteInfo();
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0); StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1); StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
if (TextUtils.isEmpty(endWay.getLatitude())||TextUtils.isEmpty(endWay.getLongitude())){
return;
}
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber()); sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
sni.setSerialNumber("0000"); sni.setSerialNumber("0000");
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude())); sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
@@ -176,6 +183,9 @@ public class JTTProcess {
ShippingNoteInfo sni=new ShippingNoteInfo(); ShippingNoteInfo sni=new ShippingNoteInfo();
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0); StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1); StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
if (TextUtils.isEmpty(endWay.getLatitude())||TextUtils.isEmpty(endWay.getLongitude())){
return;
}
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber()); sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
sni.setSerialNumber("0000"); sni.setSerialNumber("0000");
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude())); sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
@@ -208,6 +218,9 @@ public class JTTProcess {
ShippingNoteInfo sni=new ShippingNoteInfo(); ShippingNoteInfo sni=new ShippingNoteInfo();
StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0); StartOrderBean.DataDTO.WayChildrenDTO startWay=sob.getData().getWayChildren().get(0);
StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1); StartOrderBean.DataDTO.WayChildrenDTO endWay=sob.getData().getWayChildren().get(sob.getData().getWayChildren().size()-1);
if (TextUtils.isEmpty(endWay.getLatitude())||TextUtils.isEmpty(endWay.getLongitude())){
return;
}
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber()); sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
sni.setSerialNumber("0000"); sni.setSerialNumber("0000");
sni.setStartLatitude(Double.parseDouble(startWay.getLatitude())); sni.setStartLatitude(Double.parseDouble(startWay.getLatitude()));
@@ -4,6 +4,7 @@ import android.content.Context;
import android.os.Handler; import android.os.Handler;
import android.util.Log; import android.util.Log;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.request.bean.IDInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.IDInputBean;
@@ -74,6 +75,22 @@ public class AuthRequest {
RequestUtil.start(1, "saveVehicleLicense", re, con, hd); RequestUtil.start(1, "saveVehicleLicense", re, con, hd);
} }
//查询车辆信息-行驶证/app/carDriver/saveVehicleLicense
public void getCarInfo(Context con, Handler hd, String carNum) {
Map<String,Object> map=new HashMap<>();
map.put("carNum",carNum);
Request re = OkHttpUtil.posts(new OkDate(BuildConfig.BASE_URL+"app/carDriver/onlyGetVehicleLicense", MapUtil.mapJson(map)), getToken(con), con);
RequestUtil.start(1, "getCarInfo", re, con, hd);
}
//绑定车辆信息-行驶证/app/carDriver/saveVehicleLicense
public void bindCar(Context con, Handler hd, String carId) {
Map<String,Object> map=new HashMap<>();
map.put("carId",carId);
Request re = OkHttpUtil.posts(new OkDate(BuildConfig.BASE_URL+"app/carDriver/bindCar", MapUtil.mapJson(map)), getToken(con), con);
RequestUtil.start(1, "bindCarInfo", re, con, hd);
}
//上传头像 //上传头像
public void upHeadImg(Context con, Handler hd, String imgUrl) { public void upHeadImg(Context con, Handler hd, String imgUrl) {
String mt = "{\"headportrait\": \"" + imgUrl + "\"}"; String mt = "{\"headportrait\": \"" + imgUrl + "\"}";
@@ -152,6 +169,7 @@ public class AuthRequest {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAuthUrl(), ""), getToken(con), con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAuthUrl(), ""), getToken(con), con);
RequestUtil.start(1, "authUrl", re, con, hd); RequestUtil.start(1, "authUrl", re, con, hd);
} }
//获取车牌颜色 //获取车牌颜色
public void getCarColor(Context con, Handler hd) { public void getCarColor(Context con, Handler hd) {
// Map<String, Object> map = new HashMap<>(); // Map<String, Object> map = new HashMap<>();
@@ -1,5 +1,6 @@
package com.arpa.hndahesudintocctmsdriver.request; package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean; import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean;
@@ -72,6 +73,17 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getAgreeOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd); RequestUtil.start(1, HuoYunDelActivity.END,re,con,hd);
} }
// public void confirm2(String cid,int wid){
// Map<String,Object> map=new HashMap<>();
// map.put("carId",cid);
// map.put("orderId",wid);
// map.put("status",2);
// map.put("imgUrl","");
// Request re = OkHttpUtil.posts(new OkDate(BuildConfig.BASE_URL+"/app/driver/waybill/grab",MapUtil.mapJson(map)),getToken(con),con);
// RequestUtil.start(1, "jfaklsdjfklasjdflk",re,con,hd);
// }
//获取执行中的运单 //获取执行中的运单
public void startOrder(int id){ public void startOrder(int id){
Map<String,Object> map=new HashMap<>(); Map<String,Object> map=new HashMap<>();
@@ -79,6 +91,13 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetStartOrder(),MapUtil.mapJson(map)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetStartOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, HuoYuanFragmengt.START_ORDER,re,con,hd); RequestUtil.start(1, HuoYuanFragmengt.START_ORDER,re,con,hd);
} }
public void startOrder2(int id){
Map<String,Object> map=new HashMap<>();
map.put("waybillId",id);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetStartOrder(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, "refreshorderDetail",re,con,hd);
}
//装货 //装货
public void loading(LUInputBean lub){ public void loading(LUInputBean lub){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getLOADING(), gson.toJson(lub)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getLOADING(), gson.toJson(lub)),getToken(con),con);
@@ -142,6 +161,32 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getEvaluationV2(),MapUtil.mapJson(map)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getEvaluationV2(),MapUtil.mapJson(map)),getToken(con),con);
RequestUtil.start(1, StartYunDanActivity.KEEP_EVALUTE,re,con,hd); RequestUtil.start(1, StartYunDanActivity.KEEP_EVALUTE,re,con,hd);
} }
/**
* 获取运单状态
* @param waybillId
*/
public void getWaybillStatus(int waybillId){
// Map<String,Object> map=new HashMap<>();
// map.put("waybillId",waybillId);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetWaybillStatus()+"?waybillId="+waybillId,""),getToken(con),con);
RequestUtil.start(1, "waybillStatus",re,con,hd);
}
/**
* 获取货源状态
* @param orderId
*/
public void getOrderStatus(int orderId){
// Map<String,Object> map=new HashMap<>();
// map.put("waybillId",waybillId);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetOrderStatus()+"?orderId="+orderId,""),getToken(con),con);
RequestUtil.start(1, "orderStatus",re,con,hd);
}
public final static String ASYMMETRYWAYBILL="waybill_getAsymmetryWaybill"; public final static String ASYMMETRYWAYBILL="waybill_getAsymmetryWaybill";
//获取装货失败信息 //获取装货失败信息
@@ -3,65 +3,132 @@ package com.arpa.hndahesudintocctmsdriver.request;
import android.content.Context; import android.content.Context;
import android.os.Handler; import android.os.Handler;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity; import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.OkDate; import com.arpa.hndahesudintocctmsdriver.util.http.OkDate;
import com.arpa.hndahesudintocctmsdriver.util.http.OkHttpUtil; import com.arpa.hndahesudintocctmsdriver.util.http.OkHttpUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequestUtil; import com.arpa.hndahesudintocctmsdriver.util.http.RequestUtil;
import java.io.File; import java.io.File;
import okhttp3.Request; import okhttp3.Request;
public class OCRRequest { public class OCRRequest {
public String getToken(Context con) { public String getToken(Context con) {
return SPUtil.getSP(con, LoginActivity.USER,LoginActivity.USER_TOKEN); return SPUtil.getSP(con, LoginActivity.USER, LoginActivity.USER_TOKEN);
} }
//银行卡识别 //银行卡识别
public void ORCBank(Context con, Handler hd, File file){ public void ORCBank(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getOrcBank()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getOrcBank()), getToken(con), file);
RequestUtil.start(12, "OCR_BANK",re,con,hd); RequestUtil.start(12, "OCR_BANK", re, con, hd);
} }
//银行卡识别-中交
public void ORCBankZj(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getOrcBank() + "?imgurl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, "OCR_BANK", re, con, hd);
}
//从业资格证-中交
public void ORCQualificaZj(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(BuildConfig.BASE_URL+"sinoiov/ocr/getTransQualificationCertOCR" + "?imgurl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, "ORCQualificaZj", re, con, hd);
}
//道路运输许可证-中交
public void ORCRoadLicZj(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(BuildConfig.BASE_URL+"sinoiov/ocr/getVehicleRoadLicenseOCR" + "?faceDataUrl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, "ORCRoadLicZj", re, con, hd);
}
//身份证正面识别 //身份证正面识别
public void OCRCard(Context con, Handler hd, File file){ public void OCRCard(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getIdCardFront()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getIdCardFront()), getToken(con), file);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[0],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME[0], re, con, hd);
} }
//身份证背面识别 //身份证背面识别
public void OCRCardBack(Context con, Handler hd, File file){ public void OCRCardBack(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getIdCardBack()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getIdCardBack()), getToken(con), file);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[0], re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[0], re, con, hd);
} }
//身份证正面识别-中交
public void OCRZjCard(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIdCardFront() + "?faceDataUrl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME[0], re, con, hd);
}
//身份证背面识别-中交
public void OCRZjCardBack(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIdCardFront() + "?backDataUrl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME_BANK[0], re, con, hd);
}
//驾驶证正面识别 //驾驶证正面识别
public void OCRDrivingLicense(Context con, Handler hd, File file){ public void OCRDrivingLicense(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getDrivingLicense()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getDrivingLicense()), getToken(con), file);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[1],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME[1], re, con, hd);
} }
//驾驶证背面识别 //驾驶证背面识别
public void OCRDrivingLicenseBack(Context con, Handler hd, File file){ public void OCRDrivingLicenseBack(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getDrivingLicenseBack()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getDrivingLicenseBack()), getToken(con), file);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[1],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[1], re, con, hd);
} }
//驾驶证正面识别-中交
public void OCRDrivingLicenseZj(Context con, Handler hd, String imgUrl){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getDrivingLicense()+"?faceDataUrl="+imgUrl,""),getToken(con),con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME[1],re,con,hd);
}
//驾驶证背面识别-中交
public void OCRDrivingLicenseBackZj(Context con, Handler hd, String imgUrl){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getDrivingLicense()+"?backDataUrl="+imgUrl,""),getToken(con),con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME_BANK[1],re,con,hd);
}
//行驶证正面识别 //行驶证正面识别
public void OCRVehicleLicense(Context con, Handler hd, File file){ public void OCRVehicleLicense(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getVehicleLicense()),getToken(con),file); Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getVehicleLicense()), getToken(con), file);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2], re, con, hd);
} }
//行驶证背面识别 //行驶证背面识别
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum,boolean isSave){ public void OCRVehicleLicenseBack(Context con, Handler hd, File file, String carId, String carNum, boolean isSave) {
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum,isSave); Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()), file, getToken(con), carId, carNum, isSave);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2],re,con,hd); RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2], re, con, hd);
}
public void OCRPlateLicense(Context con, Handler hd, File file){
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense()),getToken(con),file);
RequestUtil.start(12, "carName",re,con,hd);
} }
public void OCRCarPlateLicense(Context con, Handler hd, File file){ //行驶证正面识别-中交
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense2()),getToken(con),file); public void OCRVehicleLicenseZj(Context con, Handler hd, String imgUrl) {
RequestUtil.start(12, "carNum",re,con,hd); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getVehicleLicense() + "?faceDataUrl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME[2], re, con, hd);
}
//行驶证背面识别-中交
public void OCRVehicleLicenseBackZj(Context con, Handler hd, String imgUrl) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getVehicleLicense() + "?backDataUrl=" + imgUrl, ""), getToken(con), con);
RequestUtil.start(1, CertificatesActivity.TYPE_NAME_BANK[2], re, con, hd);
}
public void OCRPlateLicense(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense()), getToken(con), file);
RequestUtil.start(12, "carName", re, con, hd);
}
public void OCRCarPlateLicense(Context con, Handler hd, File file) {
Request re = OkHttpUtil.postFile(new OkDate(RequestConstant.getPlateLicense2()), getToken(con), file);
RequestUtil.start(12, "carNum", re, con, hd);
} }
} }
@@ -56,7 +56,7 @@ public class RequestConstant {
//运单列表 //运单列表
private static final String ORDER_LIST = "/app/driver/waybill/listV2"; private static final String ORDER_LIST = "/app/driver/waybill/listV2";
//抢单 //抢单
private static final String AGREE_ORDER = "/app/driver/waybill/grabDriverOrdersContruct"; private static final String AGREE_ORDER = "/app/driver/waybill/grabDriverOrdersContructV2";
//获取正在执行的运单/运单详情 //获取正在执行的运单/运单详情
private static final String GET_START_ORDER = "/app/driver/waybill/getExecuteWaybill"; private static final String GET_START_ORDER = "/app/driver/waybill/getExecuteWaybill";
//查看承运合同 //查看承运合同
@@ -81,6 +81,8 @@ public class RequestConstant {
private static final String COMPLAINT = "/app/driver/waybill/complaintV2"; private static final String COMPLAINT = "/app/driver/waybill/complaintV2";
//保存评价信息 //保存评价信息
private static final String EVALUATION_V2 = "/app/driver/waybill/evaluationV2"; private static final String EVALUATION_V2 = "/app/driver/waybill/evaluationV2";
private static final String GET_WAYBILL_STATUS = "/app/driver/waybill/getWaybillStatus";
private static final String GET_ORDER_STATUS = "/app/driver/order/getOrderStatus";
//车辆列表 //车辆列表
private static final String GET_CAR_LIST = "/app/carDriver/getCarList"; private static final String GET_CAR_LIST = "/app/carDriver/getCarList";
//车辆详情 //车辆详情
@@ -98,17 +100,21 @@ public class RequestConstant {
//--ORC识别-- //--ORC识别--
//银行卡识别 //银行卡识别
private static final String ORC_BANK = "/common/ocr/bank"; // private static final String ORC_BANK = "/common/ocr/bank";
private static final String ORC_BANK = "sinoiov/ocr/getBankcardOCR";
//身份证正面 //身份证正面
private static final String ID_CARD_FRONT = "/common/ocr/idCardFront"; // private static final String ID_CARD_FRONT = "/common/ocr/idCardFront";
private static final String ID_CARD_FRONT = "sinoiov/ocr/getIdCardLicenseV2";
//身份证识别反面 //身份证识别反面
private static final String ID_CARD_BACK = "/common/ocr/idCardBack"; private static final String ID_CARD_BACK = "/common/ocr/idCardBack";
//驾驶证正面 //驾驶证正面
private static final String DRIVING_LICENSE = "/common/ocr/drivingLicense"; // private static final String DRIVING_LICENSE = "/common/ocr/drivingLicense";
private static final String DRIVING_LICENSE = "sinoiov/ocr/getDrivingLicenseOCRV2";
//驾驶证副页 //驾驶证副页
private static final String DRIVING_LICENSE_BACK = "/common/ocr/drivingLicenseBack"; private static final String DRIVING_LICENSE_BACK = "/common/ocr/drivingLicenseBack";
//行驶证正面 //行驶证正面
private static final String VEHICLE_LICENSE = "/common/ocr/vehicleLicense"; // private static final String VEHICLE_LICENSE = "/common/ocr/vehicleLicense";
private static final String VEHICLE_LICENSE = "sinoiov/ocr/getVehicleLicenseOCRV2";
//行驶证副页 //行驶证副页
private static final String VEHICLE_LICENSE_BACK = "/common/ocr/v2/vehicleBackLicenseV3"; private static final String VEHICLE_LICENSE_BACK = "/common/ocr/v2/vehicleBackLicenseV3";
//身份证认证信息 //身份证认证信息
@@ -124,6 +130,7 @@ public class RequestConstant {
private static final String DRIVERAUTHLICENSE = "/app/driver/auth/driverAuthLicense"; private static final String DRIVERAUTHLICENSE = "/app/driver/auth/driverAuthLicense";
//行驶证认证 //行驶证认证
private static final String SAVEVEHICLELICENSE = "/app/carDriver/saveVehicleLicense"; private static final String SAVEVEHICLELICENSE = "/app/carDriver/saveVehicleLicense";
// private static final String SAVEVEHICLELICENSE = "app/carDriver/save";
//从业资格证认证 //从业资格证认证
private static final String DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/driverAuthQualification"; private static final String DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/driverAuthQualification";
//车辆等级证书 //车辆等级证书
@@ -331,6 +338,14 @@ public class RequestConstant {
return BASE_URL + EVALUATION_V2; return BASE_URL + EVALUATION_V2;
} }
public static String getGetWaybillStatus() {
return BASE_URL + GET_WAYBILL_STATUS;
}
public static String getGetOrderStatus() {
return BASE_URL + GET_ORDER_STATUS;
}
public static String getDRIVERAUTHIDCARD() { public static String getDRIVERAUTHIDCARD() {
return BASE_URL + DRIVERAUTHIDCARD; return BASE_URL + DRIVERAUTHIDCARD;
} }
@@ -16,8 +16,123 @@ public class LicenseInputBean {
private int driverLicensePhoto; private int driverLicensePhoto;
private String endTime; private String endTime;
private String firstTime; private String firstTime;
private String address;
private String quasiDriveType;
private String beginDate;
private String endDate;
private String fileNumber;
private String issuingAuthority;
private String sex;
private String name;
private String idcard;
private String organizationName;
private String startTime;
private String birthday;
private String country;
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getOrganizationName() {
return organizationName;
}
public void setOrganizationName(String organizationName) {
this.organizationName = organizationName;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getQuasiDriveType() {
return quasiDriveType;
}
public void setQuasiDriveType(String quasiDriveType) {
this.quasiDriveType = quasiDriveType;
}
public String getBeginDate() {
return beginDate;
}
public void setBeginDate(String beginDate) {
this.beginDate = beginDate;
}
public String getEndDate() {
return endDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public String getFileNumber() {
return fileNumber;
}
public void setFileNumber(String fileNumber) {
this.fileNumber = fileNumber;
}
public String getIssuingAuthority() {
return issuingAuthority;
}
public void setIssuingAuthority(String issuingAuthority) {
this.issuingAuthority = issuingAuthority;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIdcard() {
return idcard;
}
public void setIdcard(String idcard) {
this.idcard = idcard;
}
public String getAllowType() { public String getAllowType() {
return allowType; return allowType;
@@ -62,14 +62,14 @@ public class MakeUpService extends Service {
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
palyMp3(); // palyMp3();
} }
//开始 //开始
@Override @Override
public int onStartCommand(Intent intent, int flags, int startId) { public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("服务开启","-----"); Log.e("服务开启","-----");
palyMp3();
return START_STICKY; return START_STICKY;
} }
@@ -30,22 +30,22 @@ import java.util.TimerTask;
public class TrackService extends Service { public class TrackService extends Service {
private Context con; private Context con;
private TrackInputBean tib=new TrackInputBean(); private TrackInputBean tib = new TrackInputBean();
private LocationGDUtil l; private LocationGDUtil l;
private int timeSum=1000*60*3; private int timeSum = 1000 * 60 * 3;
private String snn=""; private String snn = "";
private Gson gson=new Gson(); private Gson gson = new Gson();
private HuoYuanRequset hyr; private HuoYuanRequset hyr;
private Handler hd=new Handler(msg -> { private Handler hd = new Handler(msg -> {
switch (msg.what){ switch (msg.what) {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if(CacheGroup.cacheList.get("genzong")!=null){ if (CacheGroup.cacheList.get("genzong") != null) {
BaseBean bb=gson.fromJson(CacheGroup.cacheList.get("genzong"),BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("genzong"), BaseBean.class);
if(bb.getCode()==200){ if (bb.getCode() == 200) {
Log.e("--轨迹上传--","成功"); Log.e("--轨迹上传--", "成功");
}else{ } else {
Log.e("--轨迹上传失败:--",bb.getMsg()); Log.e("--轨迹上传失败:--", bb.getMsg());
} }
CacheGroup.cacheList.remove("genzong"); CacheGroup.cacheList.remove("genzong");
} }
@@ -59,32 +59,34 @@ public class TrackService extends Service {
@Nullable @Nullable
@Override @Override
public IBinder onBind(Intent intent) {return null; } public IBinder onBind(Intent intent) {
return null;
}
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
con=this; con = this;
hyr=new HuoYuanRequset(con,hd); hyr = new HuoYuanRequset(con, hd);
Log.e("开始循环上传,等待100ms","-----"); Log.e("开始循环上传,等待100ms", "-----");
new Timer().schedule(new TimerTask() { new Timer().schedule(new TimerTask() {
@Override @Override
public void run() { public void run() {
snn=SPUtil.getSP(con,"order","ShippingNoteNumber"); snn = SPUtil.getSP(con, "order", "ShippingNoteNumber");
if(!snn.equals("")) { if (!snn.equals("")) {
l = new LocationGDUtil(con, hd); l = new LocationGDUtil(con, hd);
l.onCreate(); l.onCreate();
}else{ } else {
onDestroy(); onDestroy();
} }
} }
},100,timeSum); }, 100, timeSum);
} }
//开始 //开始
@Override @Override
public int onStartCommand(Intent intent, int flags, int startId) { public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("服务开启","-----"); Log.e("服务开启", "-----");
return START_STICKY; return START_STICKY;
} }
@@ -94,13 +96,16 @@ public class TrackService extends Service {
super.onDestroy(); super.onDestroy();
} }
public void genzong(){ public void genzong() {
if (l == null || l.getLatitude() == 0d) {
return;
}
//经度 //经度
tib.setLatitude(l.getLatitude()+""); tib.setLatitude(l.getLatitude() + "");
//纬度 //纬度
tib.setLongitude(l.getLongitude()+""); tib.setLongitude(l.getLongitude() + "");
Log.e("经度",l.getLatitude()+""); Log.e("经度", l.getLatitude() + "");
Log.e("维度",l.getLongitude()+""); Log.e("维度", l.getLongitude() + "");
//单号 //单号
tib.setShippingNoteNumber(snn); tib.setShippingNoteNumber(snn);
hyr.trackTracking(tib); hyr.trackTracking(tib);
@@ -10,6 +10,7 @@ import android.view.KeyEvent
import android.widget.* import android.widget.*
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import com.arpa.hndahesudintocctmsdriver.R import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.event.WalletEvent
import com.arpa.hndahesudintocctmsdriver.ui.home.HomeFragment import com.arpa.hndahesudintocctmsdriver.ui.home.HomeFragment
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity
import com.arpa.hndahesudintocctmsdriver.ui.my.MyFragment import com.arpa.hndahesudintocctmsdriver.ui.my.MyFragment
@@ -23,6 +24,7 @@ import com.arpa.hndahesudintocctmsdriver.util.view.PanDuanUtil
import com.google.gson.Gson import com.google.gson.Gson
import com.gyf.cactus.ext.cactusUpdateNotification import com.gyf.cactus.ext.cactusUpdateNotification
import com.permissionx.guolindev.PermissionX import com.permissionx.guolindev.PermissionX
import org.greenrobot.eventbus.EventBus
@Suppress("DIVISION_BY_ZERO") @Suppress("DIVISION_BY_ZERO")
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
@@ -93,6 +95,7 @@ class MainActivity : BaseAppCompatActivity() {
bt.hide(fs[bt.index]) bt.hide(fs[bt.index])
bt.selectItem(fs[1]) bt.selectItem(fs[1])
} else { } else {
EventBus.getDefault().post(WalletEvent("refresh"))
bt.setDefaultFragment(fs[1]) bt.setDefaultFragment(fs[1])
} }
bt.index = 1 bt.index = 1
@@ -126,9 +129,9 @@ class MainActivity : BaseAppCompatActivity() {
bt.index = 3 bt.index = 3
} }
} }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
getPression() // getPression()
} // }
} }
fun getPression() { fun getPression() {
@@ -4,6 +4,7 @@ import android.content.Context;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity; import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
@@ -38,7 +39,8 @@ public class UiAuxiliary {
} }
public static void delLogin(Context con){ public static void delLogin(Context con){
JPushInterface.deleteAlias(con,0); // JPushInterface.deleteAlias(con,0);
SPUtils.remove(con,"curWaybillId");
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_TOKEN,""); SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_TOKEN,"");
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_UNAME,""); SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_UNAME,"");
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_RNAME,""); SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_RNAME,"");
@@ -20,9 +20,12 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.bean.OCRQualiBean;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent; import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.DatePicker; import com.github.gzuliyujiang.wheelpicker.DatePicker;
@@ -83,6 +86,10 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
if (CacheGroup.cacheList.get("upload") != null) { if (CacheGroup.cacheList.get("upload") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class); ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class);
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
if ("0".equals(type)) {//从业资格识别,党员认证不识别
new OCRRequest().ORCQualificaZj(con, hd, ub.getData().getUrl());
}
url = ub.getData().getUrl(); url = ub.getData().getUrl();
Glide.with(con).load(url).into(img); Glide.with(con).load(url).into(img);
up_img.setVisibility(View.GONE); up_img.setVisibility(View.GONE);
@@ -90,6 +97,24 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
CacheGroup.cacheList.remove("upload"); CacheGroup.cacheList.remove("upload");
} }
if (CacheGroup.cacheList.get("ORCQualificaZj") != null) {
OCRQualiBean ocrQualiBean = gson.fromJson(CacheGroup.cacheList.get("ORCQualificaZj"), OCRQualiBean.class);
if (ocrQualiBean.getCode() == 200 && ocrQualiBean.getData() != null) {
List<OCRQualiBean.DataDTO.QualificationCategoryListDTO> qualificationCategoryList = ocrQualiBean.getData().getQualification_category_list();
if (qualificationCategoryList != null && qualificationCategoryList.size() > 0) {
String expiryDate = qualificationCategoryList.get(0).getExpiry_date();
if (expiryDate.contains("-")){
value2.setText(expiryDate);
}
}
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("ORCQualificaZj");
}
if (CacheGroup.cacheList.get("isAuthDriverAuthQualification") != null) { if (CacheGroup.cacheList.get("isAuthDriverAuthQualification") != null) {
Log.e("is", CacheGroup.cacheList.get("isAuthDriverAuthQualification")); Log.e("is", CacheGroup.cacheList.get("isAuthDriverAuthQualification"));
ib = gson.fromJson(CacheGroup.cacheList.get("isAuthDriverAuthQualification"), IsAuthDriverAuthQualificationBean.class); ib = gson.fromJson(CacheGroup.cacheList.get("isAuthDriverAuthQualification"), IsAuthDriverAuthQualificationBean.class);
@@ -119,12 +144,12 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
} else { } else {
finish(); finish();
if (isOverCar){//从业资格证=》道路运输许可证 if (isOverCar) {//从业资格证=》道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
in.putExtra("carId", carId); in.putExtra("carId", carId);
startActivity(in); startActivity(in);
}else{//资料传完 补传情况 } else {//资料传完 补传情况
Intent in = new Intent(con, AddCarSuccActivity.class); Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
con.startActivity(in); con.startActivity(in);
@@ -132,7 +157,6 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
Toast.makeText(con, "资格证上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "资格证上传成功", Toast.LENGTH_SHORT).show();
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -205,7 +229,7 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
data_view = findViewById(R.id.data_view); data_view = findViewById(R.id.data_view);
type = getIntent().getExtras().getString("type"); type = getIntent().getExtras().getString("type");
carId = getIntent().getExtras().getString("carId", ""); carId = getIntent().getExtras().getString("carId", "");
isOverCar = getIntent().getExtras().getBoolean("isOverCar",false); isOverCar = getIntent().getExtras().getBoolean("isOverCar", false);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
initView(null); initView(null);
if ("0".equals(type)) { if ("0".equals(type)) {
@@ -217,9 +241,9 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
} }
//new RZRequest().isDriverAuthQualification(con,hd); //new RZRequest().isDriverAuthQualification(con,hd);
} }
if (TextUtils.isEmpty(carId)){//carId不为空 从添加车辆进入 该操作不能跳过 if (TextUtils.isEmpty(carId)) {//carId不为空 从添加车辆进入 该操作不能跳过
tvSkip.setVisibility(View.VISIBLE); tvSkip.setVisibility(View.VISIBLE);
}else{ } else {
tvSkip.setVisibility(View.GONE); tvSkip.setVisibility(View.GONE);
} }
} }
@@ -300,7 +324,6 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
tvSkip.setOnClickListener(v -> { tvSkip.setOnClickListener(v -> {
if (type.equals("0")) { if (type.equals("0")) {
// finish(); // finish();
if (key) { if (key) {
@@ -23,12 +23,16 @@ import androidx.cardview.widget.CardView;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean2;
import com.arpa.hndahesudintocctmsdriver.bean.DicBean; import com.arpa.hndahesudintocctmsdriver.bean.DicBean;
import com.arpa.hndahesudintocctmsdriver.bean.DriverUpBean;
import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean; import com.arpa.hndahesudintocctmsdriver.bean.SinglePickBean;
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop; import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent; import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PickerUtils; import com.arpa.hndahesudintocctmsdriver.util.PickerUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
@@ -37,6 +41,9 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target; import com.bumptech.glide.request.target.Target;
import com.dahe.mylibrary.utils.ActivityUtils; import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ImageLoader;
import com.dahe.mylibrary.utils.PatternUtils;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils; import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent; import com.esign.esignsdk.data.AuthEvent;
@@ -83,10 +90,12 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import java.io.File; import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.regex.Pattern;
//修改后不可编辑 //修改后不可编辑
public class CertificatesActivity extends BaseAppCompatActivity { public class CertificatesActivity extends BaseAppCompatActivity {
@@ -103,13 +112,14 @@ public class CertificatesActivity extends BaseAppCompatActivity {
private String[] names_img3 = {"", "", "行驶证副页背面照片", "挂车行驶证副页背面照片"}; private String[] names_img3 = {"", "", "行驶证副页背面照片", "挂车行驶证副页背面照片"};
private String[][] name = { private String[][] name = {
{"姓名", "身份证号", "地址", "有效期至"}, {"姓名", "身份证号", "地址", "有效期至"},
{"档案编", "初次领证日期", "准驾车型", "有效期限(止)"}, {"驾驶证", "初次领证日期", "准驾车型", "有效期限(止)"},
{"车牌号码", "车辆类型", "所有人", "车辆识别代码"}, {"车牌号码", "车辆类型", "所有人", "车辆识别代码"},
{"车牌号码", "车辆类型", "所有人", "车辆识别代码"} {"车牌号码", "车辆类型", "所有人", "车辆识别代码"}
}; };
private int[] typeImgOne = {R.mipmap.id, R.mipmap.license, R.mipmap.vehicle_license, R.mipmap.vehicle_license}; private int[] typeImgOne = {R.mipmap.id, R.mipmap.license, R.mipmap.vehicle_license, R.mipmap.vehicle_license};
private int[] typeImgTwo = {R.mipmap.id_back, R.mipmap.license_back, R.mipmap.vehicle_license_back, R.mipmap.vehicle_license_back}; private int[] typeImgTwo = {R.mipmap.id_back, R.mipmap.license_back, R.mipmap.vehicle_license_back, R.mipmap.vehicle_license_back};
private int index = 0; private int index = 0;
private String carExistCarId = "";
private DicBean.DataDTO curColor, curEnergy; private DicBean.DataDTO curColor, curEnergy;
private TextView zj_name, zjimg_name, zjimg2_name, zj_name2, zj_name3; private TextView zj_name, zjimg_name, zjimg2_name, zj_name2, zj_name3;
private TextView name1, name2, name3, name4, value5, value6; private TextView name1, name2, name3, name4, value5, value6;
@@ -167,9 +177,15 @@ public class CertificatesActivity extends BaseAppCompatActivity {
finish(); finish();
//上传身份证信息后 跳转上传驾驶证信息页面 //上传身份证信息后 跳转上传驾驶证信息页面
Intent in = new Intent(con, CertificatesActivity.class); // Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1); // in.putExtra("index", 1);
startActivity(in); // startActivity(in);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333 = new Intent(con, UpBankActivity.class);
in333.putExtra("type", 1);
startActivity(in333);
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -205,7 +221,13 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl")); Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false);
intent.putExtra("title", "人脸识别");
intent.putExtra("isGoCar", true);
startActivity(intent);
// EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl")); }//Log.e("url",CacheGroup.cacheList.get("authUrl"));
@@ -332,6 +354,92 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}); });
} }
CacheGroup.cacheList.remove(CAR_COLOR); CacheGroup.cacheList.remove(CAR_COLOR);
} else if (CacheGroup.cacheList.get("upload") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class);
if (ub.getCode() == 200) {
// url3 = ub.getData().getUrl();
// fid = ub.getData().getId();
//// Glide.with(con).load(url3).into(img3);
// Glide.with(con).load(path).into(img3);
String imageUrl = ub.getData().getUrl();
switch (index) {
case 0:
if (keys[0]) {
fontId = ub.getData().getId();
url1 = imageUrl;
new OCRRequest().OCRZjCard(con, hd, imageUrl);
} else {
Log.e("res" + new File(path).getName(), new File(path).getPath());
backId = ub.getData().getId();
url2 = imageUrl;
new OCRRequest().OCRZjCardBack(con, hd, imageUrl);
}
break;
case 1:
if (keys[0]) {
fontId = ub.getData().getId();
url1 = imageUrl;
new OCRRequest().OCRDrivingLicenseZj(con, hd, imageUrl);
} else {
backId = ub.getData().getId();
url2 = imageUrl;
new OCRRequest().OCRDrivingLicenseBackZj(con, hd, imageUrl);
}
break;
case 2:
if (keys[0]) {
fontId = ub.getData().getId();
url1 = imageUrl;
new OCRRequest().OCRVehicleLicenseZj(con, hd, imageUrl);
} else if (keys[1]) {
if ("".equals(carNum)) {
Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show();
customDialog.dismiss();
return;
}
backId = ub.getData().getId();
url2 = imageUrl;
new OCRRequest().OCRVehicleLicenseBackZj(con, hd, imageUrl);
} else {
new AuthRequest().upload(con, hd, new File(path));
}
break;
case 3:
Log.e("添加挂车", "挂车" + oCrcarId);
if (keys[0]) {
fontId = ub.getData().getId();
url1 = imageUrl;
new OCRRequest().OCRVehicleLicenseZj(con, hd, imageUrl);
} else if (keys[1]) {
if ("".equals(carNum)) {
Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show();
customDialog.dismiss();
return;
}
// if (cdb != null && cdb.getData().getTrailerResVo() &&cdb.getRes() == 1)
boolean isExist = false;
if (olb != null) {//主页识别成功后获取
isExist = olb.getData().isCarExist();
} else {
if (cdb != null && cdb.getData().getTrailerResVo() != null && cdb.getRes() == 1) {//上个页面带来数据
isExist = true;
}
}
backId = ub.getData().getId();
url2 = imageUrl;
new OCRRequest().OCRVehicleLicenseBackZj(con, hd, imageUrl);
}
break;
default:
break;
}
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
} else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) { } else if (CacheGroup.cacheList.get(CAR_ENERGY_TYPE) != null) {
DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_ENERGY_TYPE), DicBean.class); DicBean bb = gson.fromJson(CacheGroup.cacheList.get(CAR_ENERGY_TYPE), DicBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
@@ -351,18 +459,58 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Log.e("url", CacheGroup.cacheList.get("authUrl")); Log.e("url", CacheGroup.cacheList.get("authUrl"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false);
intent.putExtra("title", "人脸识别");
intent.putExtra("isGoCar", true);
startActivity(intent);
// EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl")); }//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl"); CacheGroup.cacheList.remove("authUrl");
} else if (CacheGroup.cacheList.get("getCarInfo") != null) {
Log.e("url", CacheGroup.cacheList.get("getCarInfo"));
CarInfoBean2 bb = gson.fromJson(CacheGroup.cacheList.get("getCarInfo"), CarInfoBean2.class);
if (bb.getCode() == 200 && bb.getData() != null) {
if (!TextUtils.isEmpty(bb.getData().getCarId())) {
carExistCarId = bb.getData().getCarId();
value1.setEnabled(false);
value2.setEnabled(false);
value3.setEnabled(false);
value4.setEnabled(false);
// img2.setEnabled(false);
u_img2.setEnabled(false);
url2 = bb.getData().getBackImage();
Glide.with(con).load(bb.getData().getBackImage()).into(img2);
// url2 = olb.getData().getExistCarInfo().getBackImage();
ToastUtils.showLongToast(con, "该车辆已存在,请仔细核对相关信息");
}
}
CacheGroup.cacheList.remove("getCarInfo");
} else if (CacheGroup.cacheList.get("bindCarInfo") != null) {
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
Log.e("url", CacheGroup.cacheList.get("bindCarInfo"));
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("bindCarInfo"), BaseBean.class);
if (bb.getCode() == 200) {
VehicleEvent ve = new VehicleEvent(String.valueOf(carExistCarId));
EventBus.getDefault().postSticky(ve);
finish();
ToastUtils.showToast(con, bb.getMsg());
}else{
ToastUtils.showToast(con, bb.getMsg());
}
CacheGroup.cacheList.remove("bindCarInfo");
} else { } else {
pathOrcRes();
//重复代码? //重复代码?
initView(null); initView(null);
if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) { if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) {
initData(); initData();
} }
pathOrcRes();
} }
break; break;
case ImageFileCompressUtil.COMPRESS_SUCCESS: case ImageFileCompressUtil.COMPRESS_SUCCESS:
@@ -479,10 +627,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
img1.setImageResource(typeImgOne[index]); img1.setImageResource(typeImgOne[index]);
img2.setImageResource(typeImgTwo[index]); img2.setImageResource(typeImgTwo[index]);
if (!url1.equals("")) { if (!url1.equals("")) {
Glide.with(con).load(url1).into(img1); ImageLoader.getInstance().loadImage(con, url1, img1, typeImgOne[index]);
// Glide.with(con).load(url1).into(img1);
} }
if (!url2.equals("")) { if (!url2.equals("")) {
Glide.with(con).load(url2).into(img2); ImageLoader.getInstance().loadImage(con, url2, img2, typeImgTwo[index]);
// Glide.with(con).load(url2).into(img2);
} }
//查看第一张照片 //查看第一张照片
img1.setOnClickListener(v -> { img1.setOnClickListener(v -> {
@@ -579,9 +729,14 @@ public class CertificatesActivity extends BaseAppCompatActivity {
case 0: case 0:
finish(); finish();
//上传身份证信息后 跳转上传驾驶证信息页面 //上传身份证信息后 跳转上传驾驶证信息页面
Intent in1 = new Intent(con, CertificatesActivity.class); // Intent in1 = new Intent(con, CertificatesActivity.class);
in1.putExtra("index", 1); // in1.putExtra("index", 1);
startActivity(in1); // startActivity(in1);
//上传身份证信息后 跳转上传银行卡信息页面
Intent in333 = new Intent(con, UpBankActivity.class);
in333.putExtra("type", 1);
startActivity(in333);
break; break;
case 1: case 1:
//传驾驶证信息页面 跳转实名认证 //传驾驶证信息页面 跳转实名认证
@@ -760,14 +915,12 @@ public class CertificatesActivity extends BaseAppCompatActivity {
case 0: case 0:
if (CacheGroup.cacheList.get(TYPE_NAME[0]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME[0]) != null) {
ocb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[0]), OCRCardBean.class); ocb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[0]), OCRCardBean.class);
if (ocb.getCode() == 200) { if (ocb.getCode() == 200 && ocb.getData() != null) {
url1 = ocb.getData().getUrl(); // url1 = ocb.getData().getUrl();
value1.setText(ocb.getData().getName()); value1.setText(ocb.getData().getName());
value2.setText(ocb.getData().getCardId()); value2.setText(ocb.getData().getIdcard());
value3.setText(ocb.getData().getAddress()); value3.setText(ocb.getData().getAddress());
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1); Glide.with(con).load(path).into(img1);
fontId = ocb.getData().getId();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
@@ -775,14 +928,10 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
if (CacheGroup.cacheList.get(TYPE_NAME_BANK[0]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME_BANK[0]) != null) {
ocbb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[0]), OCRCardBackBean.class); ocbb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[0]), OCRCardBackBean.class);
if (ocbb.getCode() == 200) { if (ocbb.getCode() == 200 && ocbb.getData() != null) {
url2 = ocbb.getData().getUrl(); value4.setText(ocbb.getData().getValidTo());
value4.setText(ocbb.getData().getEndTime());
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2); Glide.with(con).load(path).into(img2);
startTime = ocbb.getData().getStartTime(); startTime = ocbb.getData().getValidFrom();
backId = ocbb.getData().getId();
//自动调取提交功能,实现页面自动跳转 //自动调取提交功能,实现页面自动跳转
subimt(); subimt();
} else { } else {
@@ -795,17 +944,15 @@ public class CertificatesActivity extends BaseAppCompatActivity {
//{"档案编号","初次领证日期","准驾车型","有效期限(止)"}, //{"档案编号","初次领证日期","准驾车型","有效期限(止)"},
if (CacheGroup.cacheList.get(TYPE_NAME[1]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME[1]) != null) {
odl = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[1]), OCRDrivingLicenseBean.class); odl = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[1]), OCRDrivingLicenseBean.class);
if (odl.getCode() == 200) { if (odl.getCode() == 200 && odl.getData() != null) {
OCRDrivingLicenseBean.DataDTO od = odl.getData(); OCRDrivingLicenseBean.DataDTO od = odl.getData();
url1 = odl.getData().getUrl(); // url1 = odl.getData().getUrl();
value7.setText(StringUtil.isNull(od.getName(), "识别异常")); value7.setText(StringUtil.isNull(od.getName(), "识别异常"));
value1.setText(StringUtil.isNull(od.getNumber(), "识别异常")); value1.setText(StringUtil.isNull(od.getIdcard(), "识别异常"));
value2.setText(StringUtil.isNull(od.getStartTime(), "识别异常")); value2.setText(StringUtil.isNull(od.getFirstGetDocDate(), "识别异常"));
value3.setText(StringUtil.isNull(od.getAllowType(), "识别异常")); value3.setText(StringUtil.isNull(od.getQuasiDriveType(), "识别异常"));
value4.setText(StringUtil.isNull(od.getEndTime(), "识别异常")); value4.setText(StringUtil.isNull(od.getEndDate(), "识别异常"));
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1); Glide.with(con).load(path).into(img1);
fontId = od.getId();
} else { } else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
@@ -813,10 +960,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} }
if (CacheGroup.cacheList.get(TYPE_NAME_BANK[1]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME_BANK[1]) != null) {
odlb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[1]), OCRDrivingLicenseBackBean.class); odlb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[1]), OCRDrivingLicenseBackBean.class);
if (odlb.getCode() == 200) { if (odlb.getCode() == 200 && odlb.getData() != null) {
url2 = odlb.getData().getUrl();
backId = odlb.getData().getId();
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2); Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转 //自动调取提交功能,实现页面自动跳转
subimt(); subimt();
@@ -832,56 +976,55 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (CacheGroup.cacheList.get(TYPE_NAME[2]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME[2]) != null) {
Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2])); Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2]));
olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class); olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class);
if (olb.getCode() == 200) { if (2==index&&olb.getData().getVclN().contains("")){
if (olb.getData().isCarExist()) { Toast.makeText(con,"该证件为挂车,请上传行驶证证件",Toast.LENGTH_SHORT).show();
value1.setEnabled(false); return;
Glide.with(con).load(olb.getData().getExistCarInfo().getBackImage()).into(img2);
url2 = olb.getData().getExistCarInfo().getBackImage();
ToastUtils.showLongToast(con, "该车辆已存在,请仔细核对相关信息");
} else {
value1.setEnabled(true);
} }
url1 = olb.getData().getUrl();
value1.setText(olb.getData().getCarNumber()); if (3==index&&!olb.getData().getVclN().contains("")){
value2.setText(olb.getData().getType()); Toast.makeText(con,"未识别到挂车相关信息,请上传挂车行驶证证件",Toast.LENGTH_SHORT).show();
value3.setText(olb.getData().getOwner()); return;
value4.setText(olb.getData().getVehicleNumber()); }
fontId = olb.getData().getId(); if (olb.getCode() == 200 && olb.getData() != null) {
carExistCarId = "";
value1.setEnabled(true);
value2.setEnabled(true);
value3.setEnabled(true);
value4.setEnabled(true);
img2.setEnabled(true);
u_img2.setEnabled(true);
// url1 = olb.getData().getUrl();
value1.setText(olb.getData().getVclN());
value2.setText(olb.getData().getVcltype());
value3.setText(olb.getData().getOwnerName());
value4.setText(olb.getData().getVin());
// fontId = olb.getData().getId();
// Glide.with(con).load(url1).into(img1); // Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1); Glide.with(con).load(path).into(img1);
oCrcarId = olb.getData().getCarId() + ""; oCrcarId = olb.getData().getCarId() + "";
if (!TextUtils.isEmpty(olb.getData().getVclN())&&!olb.getData().getVclN().contains(""))
new AuthRequest().getCarInfo(con, hd, olb.getData().getVclN());
Log.e("-cardId-", oCrcarId); Log.e("-cardId-", oCrcarId);
} else { } else {
Toast.makeText(con, olb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(TYPE_NAME[2]); CacheGroup.cacheList.remove(TYPE_NAME[2]);
} }
if (CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null) {
oblb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]), OCRVehicleBackLicenseBean.class); oblb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]), OCRVehicleBackLicenseBean.class);
if (oblb.getCode() == 200) { if (oblb.getCode() == 200 && oblb.getData() != null) {
url2 = oblb.getData().getUrl(); // url2 = oblb.getData().getUrl();
backId = oblb.getData().getId(); // backId = oblb.getData().getId();
// Glide.with(con).load(url2).into(img2); // Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2); Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转实现页面自动跳转 //自动调取提交功能,实现页面自动跳转实现页面自动跳转
subimt(); subimt();
} else { } else {
Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(TYPE_NAME_BANK[2]); CacheGroup.cacheList.remove(TYPE_NAME_BANK[2]);
} }
if (CacheGroup.cacheList.get("upload") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class);
if (ub.getCode() == 200) {
url3 = ub.getData().getUrl();
fid = ub.getData().getId();
// Glide.with(con).load(url3).into(img3);
Glide.with(con).load(path).into(img3);
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
break; break;
default: default:
break; break;
@@ -898,29 +1041,35 @@ public class CertificatesActivity extends BaseAppCompatActivity {
switch (index) { switch (index) {
case 0: case 0:
if (keys[0]) { if (keys[0]) {
new OCRRequest().OCRCard(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRCard(con, hd, new File(path));
} else { } else {
new AuthRequest().upload(con, hd, new File(path));
Log.e("res" + new File(path).getName(), new File(path).getPath()); Log.e("res" + new File(path).getName(), new File(path).getPath());
new OCRRequest().OCRCardBack(con, hd, new File(path)); // new OCRRequest().OCRCardBack(con, hd, new File(path));
} }
break; break;
case 1: case 1:
if (keys[0]) { if (keys[0]) {
new OCRRequest().OCRDrivingLicense(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRDrivingLicense(con, hd, new File(path));
} else { } else {
new OCRRequest().OCRDrivingLicenseBack(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRDrivingLicenseBack(con, hd, new File(path));
} }
break; break;
case 2: case 2:
if (keys[0]) { if (keys[0]) {
new OCRRequest().OCRVehicleLicense(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRVehicleLicense(con, hd, new File(path));
} else if (keys[1]) { } else if (keys[1]) {
if ("".equals(carNum)) { if ("".equals(carNum)) {
Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show(); Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show();
customDialog.dismiss(); customDialog.dismiss();
return; return;
} }
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, olb.getData().isCarExist()); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, olb.getData().isCarExist());
} else { } else {
new AuthRequest().upload(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
@@ -929,7 +1078,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
case 3: case 3:
Log.e("添加挂车", "挂车" + oCrcarId); Log.e("添加挂车", "挂车" + oCrcarId);
if (keys[0]) { if (keys[0]) {
new OCRRequest().OCRVehicleLicense(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRVehicleLicense(con, hd, new File(path));
} else if (keys[1]) { } else if (keys[1]) {
if ("".equals(carNum)) { if ("".equals(carNum)) {
Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show(); Toast.makeText(con, "车牌号不能为空", Toast.LENGTH_LONG).show();
@@ -945,7 +1095,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
isExist = true; isExist = true;
} }
} }
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, isExist); new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, isExist);
} else { } else {
new AuthRequest().upload(con, hd, new File(path)); new AuthRequest().upload(con, hd, new File(path));
} }
@@ -982,7 +1133,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} else { } else {
ib.setIdcardSex(2); ib.setIdcardSex(2);
} }
ib.setIdcardValidity(ocbb.getData().getEndTime()); ib.setIdcardValidity("长期".equals(ocbb.getData().getValidTo()) ? "2999-12-31" : ocbb.getData().getValidTo());
new AuthRequest().driverAuthIdCard(con, hd, ib); new AuthRequest().driverAuthIdCard(con, hd, ib);
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
@@ -996,20 +1147,36 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.show(); customDialog.show();
Log.e("ocr", new Gson().toJson(odl)); Log.e("ocr", new Gson().toJson(odl));
LicenseInputBean iib = new LicenseInputBean(); LicenseInputBean iib = new LicenseInputBean();
iib.setArchivesName(str1); iib.setArchivesName(odlb.getData().getFileNumber());
iib.setDriverLicenseName(value7.getText().toString()); iib.setDriverLicenseName(value7.getText().toString());
iib.setAllowType(str3); iib.setAllowType(str3);
iib.setDriverLicense(odl.getData().getNumber()); iib.setDriverLicense(str1);
iib.setDriverLicenseBackPhoto(backId); iib.setDriverLicenseBackPhoto(backId);
iib.setDriverLicensePhoto(fontId); iib.setDriverLicensePhoto(fontId);
iib.setEndTime(odl.getData().getEndTime()); iib.setEndTime("长期".equals(odl.getData().getEndDate()) ? "2999-12-31" : odl.getData().getEndDate());
iib.setFirstTime(odl.getData().getFirstTime()); iib.setFirstTime(odl.getData().getFirstGetDocDate());
// iib.setName(odl.getData().getName());
iib.setOrganizationName(odl.getData().getIssuingAuthority());
iib.setAddress(odl.getData().getAddress());
iib.setStartTime(odl.getData().getBeginDate());
iib.setSex(odl.getData().getSex());
iib.setBirthday(odl.getData().getBirthday());
iib.setCountry(odl.getData().getNationality());
new AuthRequest().driverAuthLicense(con, hd, iib); new AuthRequest().driverAuthLicense(con, hd, iib);
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
} }
break; break;
case 2: case 2:
if (!TextUtils.isEmpty(carExistCarId)) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
new AuthRequest().bindCar(con, hd, carExistCarId);
return;
}
if ((olb != null && !olb.getData().isCarExist() && oblb != null) || (olb != null && olb.getData().isCarExist())) { if ((olb != null && !olb.getData().isCarExist() && oblb != null) || (olb != null && olb.getData().isCarExist())) {
// if (curColor == null || curEnergy == null) { // if (curColor == null || curEnergy == null) {
// Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show(); // Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show();
@@ -1021,17 +1188,100 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if ("".equals(url3)) { if ("".equals(url3)) {
map.put("imgId", fid); map.put("imgId", fid);
} }
map.put("licenseId", olb.getData().isCarExist() ? olb.getData().getExistCarInfo().getLicenseId() : oblb.getData().getLicenseId()); // map.put("licenseId", olb.getData().isCarExist() ? olb.getData().getExistCarInfo().getLicenseId() : oblb.getData().getLicenseId());
map.put("carNumber", str1); // map.put("vclN", str1);
map.put("type", str2); // map.put("vcltype", str2);
map.put("owner", str3); // map.put("ownerName", str3);
map.put("vehicleNumber", str4); // map.put("vin", str4);//车辆识别代号
// if (olb.getData().isCarExist()) {
// map.put("carId", olb.getData().getCarId()); String carLong = "";
// } String carWidth = "";
// map.put("carPlateColor", curColor.getValue()); String carHeight = "";
// map.put("carEnergyTyp", curEnergy.getValue()); String carPlateColor = "302003";
new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map)); String carEnergyTyp = "303002";
String note = "";
String overallDimen = oblb.getData().getOverallDimen();
if (overallDimen.contains("mm")) {
String[] mms = overallDimen.split("mm");
String mm = mms[0];
// String[] xes = mm.split("x");
// String[] xes1 = mm.split("X");
String[] xes = mm.split("×");
if (xes.length == 3) {
carLong = xes[0];
carWidth = xes[1];
carHeight = xes[2];
}
try {
int i = Integer.parseInt(carLong);
if (i < 4200) {
carPlateColor = "302002";
carEnergyTyp = "303001";
}
} catch (Exception e) {
}
}
try {
String inNote = oblb.getData().getNote();
if (inNote.contains("")) {
String[] split = inNote.split("");
if (split.length == 2) {
note = split[1];
}
}
} catch (Exception e) {
}
DriverUpBean driverUpBean = new DriverUpBean();
DriverUpBean.DataDTO dataDTO = new DriverUpBean.DataDTO();
driverUpBean.setFrontImageUrl(url1);
driverUpBean.setBackImageUrl(url2);
driverUpBean.setCarNumber(str1);
driverUpBean.setType(str2);
driverUpBean.setOwner(str3);
driverUpBean.setVehicleNumber(str4);
driverUpBean.setCarPlateColor(carPlateColor);
driverUpBean.setCarEnergyTyp(carEnergyTyp);
driverUpBean.setCarLong(carLong);
driverUpBean.setCarWidth(carWidth);
driverUpBean.setCarHeight(carHeight);
dataDTO.setVclN(str1);
dataDTO.setVcltype(str2);
dataDTO.setOwnerName(str3);
dataDTO.setVin(str4);
dataDTO.setNatureOfUsage(olb.getData().getNatureOfUsage());
dataDTO.setIssuingAuthority(olb.getData().getIssuingAuthority());
dataDTO.setRegTime(olb.getData().getRegTime());
dataDTO.setAddress(olb.getData().getAddress());
dataDTO.setEngine(olb.getData().getEngine());
dataDTO.setLicensedateOfissue(olb.getData().getLicensedateOfissue());
dataDTO.setVclBrand(olb.getData().getVclBrand());
dataDTO.setApproveTon(oblb.getData().getApproveTon());
dataDTO.setRecordId(oblb.getData().getRecordId());
dataDTO.setNote(note);
dataDTO.setPassengers(oblb.getData().getPassengers());
dataDTO.setVclDrwTn(oblb.getData().getVclDrwTn());
dataDTO.setOverallDimen(oblb.getData().getOverallDimen());
dataDTO.setEnTn(oblb.getData().getEnTn());
dataDTO.setLoadTon(oblb.getData().getLoadTon());
dataDTO.setInspectionRecord(oblb.getData().getInspectionRecord());
dataDTO.setBarCode(oblb.getData().getBarCode());
driverUpBean.setZjObj(dataDTO);
String json = gson.toJson(driverUpBean);
new AuthRequest().saveVehicleLicense(con, hd, json);
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
} }
@@ -1044,21 +1294,114 @@ public class CertificatesActivity extends BaseAppCompatActivity {
// } // }
customDialog = new CustomDialog(con, "网络请求中..."); customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show(); customDialog.show();
Map<String, Object> map = new HashMap<>(); // Map<String, Object> map = new HashMap<>();
if ("".equals(url3)) { // if ("".equals(url3)) {
map.put("imgId", fid); // map.put("imgId", fid);
// }
//// map.put("licenseId", oblb.getData().getLicenseId());
// map.put("carId", carId);
// map.put("carNumberDraw", str1);
// map.put("type", str2);
// map.put("owner", str3);
//// map.put("carEnergyTyp", curEnergy.getValue());
// map.put("vehicleNumber", str4);
// if (cdb != null && cdb.getRes() == 1 && cdb.getData() != null && cdb.getData().getTrailerResVo() != null) {
// map.put("oldTrailerNumber", cdb.getData().getTrailerResVo().getCarNumber());
// }
//
// map.put("registerDate", olb.getData().getRegTime());//注册日期
// map.put("dateIssue", olb.getData().getLicensedateOfissue());//发证日期
// map.put("nature", olb.getData().getNatureOfUsage());//使用性质
// map.put("model", olb.getData().getVclBrand());//品牌型号
// map.put("organizationName", olb.getData().getIssuingAuthority());//发证机关
// map.put("engineNumber", olb.getData().getEngine());//发动机号
//
//
// map.put("frontImage", url1);
// map.put("backImage", url2);
// map.put("size", oblb.getData().getOverallDimen());//车辆尺寸
// map.put("allCapacity", oblb.getData().getEnTn());//整备质量
// map.put("approvedCapacity", oblb.getData().getLoadTon());//核定载质量
// map.put("allAuality", oblb.getData().getApproveTon());//总质量
//
// map.put("personCapacity", oblb.getData().getPassengers());//核定载人数
// map.put("fileNumber", oblb.getData().getRecordId());//档案编号
// map.put("towAuality", oblb.getData().getVclDrwTn());//准牵引总质量
String carLong = "";
String carWidth = "";
String carHeight = "";
String note = "";
String overallDimen = oblb.getData().getOverallDimen();
if (overallDimen.contains("mm")) {
String[] mms = overallDimen.split("mm");
String mm = mms[0];
// String[] xes = mm.split("x");
// String[] xes1 = mm.split("X");
String[] xes = mm.split("×");
if (xes.length == 3) {
carLong = xes[0];
carWidth = xes[1];
carHeight = xes[2];
} }
// map.put("licenseId", oblb.getData().getLicenseId());
map.put("carId", carId);
map.put("carNumberDraw", str1);
map.put("type", str2);
map.put("owner", str3);
// map.put("carEnergyTyp", curEnergy.getValue());
map.put("vehicleNumber", str4);
if (cdb != null && cdb.getRes() == 1 && cdb.getData() != null && cdb.getData().getTrailerResVo() != null) {
map.put("oldTrailerNumber", cdb.getData().getTrailerResVo().getCarNumber());
} }
new AuthRequest().saveDrawCar(con, hd, MapUtil.mapJson(map));
try {
String inNote = oblb.getData().getNote();
if (inNote.contains("")) {
String[] split = inNote.split("");
if (split.length == 2) {
note = split[1];
}
}
} catch (Exception e) {
}
DriverUpBean driverUpBean = new DriverUpBean();
DriverUpBean.DataDTO dataDTO = new DriverUpBean.DataDTO();
driverUpBean.setCarId(carId);
driverUpBean.setFrontImageUrl(url1);
driverUpBean.setBackImageUrl(url2);
driverUpBean.setCarNumber(str1);
driverUpBean.setType(str2);
driverUpBean.setOwner(str3);
driverUpBean.setVehicleNumber(str4);
driverUpBean.setCarLong(carLong);
driverUpBean.setCarWidth(carWidth);
driverUpBean.setCarHeight(carHeight);
dataDTO.setNatureOfUsage(olb.getData().getNatureOfUsage());
dataDTO.setVclN(str1);
dataDTO.setVcltype(str2);
dataDTO.setOwnerName(str3);
dataDTO.setVin(str4);
dataDTO.setIssuingAuthority(olb.getData().getIssuingAuthority());
dataDTO.setRegTime(olb.getData().getRegTime());
dataDTO.setAddress(olb.getData().getAddress());
dataDTO.setEngine(olb.getData().getEngine());
dataDTO.setLicensedateOfissue(olb.getData().getLicensedateOfissue());
dataDTO.setVclBrand(olb.getData().getVclBrand());
dataDTO.setApproveTon(oblb.getData().getApproveTon());
dataDTO.setRecordId(oblb.getData().getRecordId());
dataDTO.setNote(note);
dataDTO.setPassengers(oblb.getData().getPassengers());
dataDTO.setVclDrwTn(oblb.getData().getVclDrwTn());
dataDTO.setOverallDimen(oblb.getData().getOverallDimen());
dataDTO.setEnTn(oblb.getData().getEnTn());
dataDTO.setLoadTon(oblb.getData().getLoadTon());
dataDTO.setInspectionRecord(oblb.getData().getInspectionRecord());
dataDTO.setBarCode(oblb.getData().getBarCode());
driverUpBean.setZjObj(dataDTO);
String json = gson.toJson(driverUpBean);
new AuthRequest().saveDrawCar(con, hd, json);
} else { } else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
} }
@@ -1080,11 +1423,11 @@ public class CertificatesActivity extends BaseAppCompatActivity {
JSONObject jsonObject = JSON.parseObject(auth.result); JSONObject jsonObject = JSON.parseObject(auth.result);
if ("success".equalsIgnoreCase(jsonObject.getString("res"))) { if ("success".equalsIgnoreCase(jsonObject.getString("res"))) {
EsignSdk.getInstance().finishH5Activity(); EsignSdk.getInstance().finishH5Activity();
new MessageUtils().showSimCenPop(con, "个人信息上传成功,请添加车辆信息!", () -> { new MessageUtils().showSimCenPop(con, "个人信息上传成功,请添加车辆信息!", "去添加", () -> {
finish();
Intent in = new Intent(con, CertificatesActivity.class); Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 2); in.putExtra("index", 2);
startActivity(in); startActivity(in);
finish();
}); });
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) { if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
@@ -1,9 +1,12 @@
package com.arpa.hndahesudintocctmsdriver.ui.auth; package com.arpa.hndahesudintocctmsdriver.ui.auth;
import android.Manifest;
import android.content.Intent; import android.content.Intent;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.ImageView; import android.widget.ImageView;
@@ -16,9 +19,14 @@ import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity; import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.H5Activity2;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent; import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PermissionUtils;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.esign.esignsdk.EsignSdk; import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent; import com.esign.esignsdk.data.AuthEvent;
import com.google.gson.Gson; import com.google.gson.Gson;
@@ -42,6 +50,7 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader; import com.lxj.xpopup.util.SmartGlideImageLoader;
import com.permissionx.guolindev.PermissionX;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
@@ -98,11 +107,18 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("authUrl"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
// Intent intent = new Intent(this, H5Activity.class); Intent intent = new Intent(this, H5Activity.class);
// intent.putExtra("url", (String) bb.getData()); intent.putExtra("url", (String) bb.getData());
// intent.putExtra("view_file", false); intent.putExtra("view_file", false);
// startActivity(intent); // intent.putExtra("isGoCar", true);
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), "")); startActivity(intent);
// Bundle t = new Bundle();
// t.putString("url",(String) bb.getData());
// t.putBoolean("view_file", false);
// ActivityUtils.startActivity(con, H5Activity2.class,t);
// EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else { } else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl")); }//Log.e("url",CacheGroup.cacheList.get("authUrl"));
@@ -168,13 +184,25 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
// startActivityForResult(in, 12); // startActivityForResult(in, 12);
//EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235"); //EsignSdk.getInstance().startH5Activity(act,"https://smlh5.esign.cn/usercenterFront/oemAuth/v3/realName/index?contextKey=b7b103b15b866ec4c72beef1dfe20828&appId=7438873235");
if (key) { if (key) {
// EsignSdk.getInstance().startH5Activity(act, ""); PermissionX.init(this)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if(allGranted) {
key = false; key = false;
new AuthRequest().getAuthUrl(con, hd); new AuthRequest().getAuthUrl(con, hd);
new Handler().postDelayed(() -> { new Handler().postDelayed(() -> {
key = true; key = true;
}, 3000); }, 3000);
} else{
new MessageUtils().showSimCenPop(con, "缺少相机权限,将无法为您提供服务,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
}
});
} }
}); });
//头像 //头像
@@ -276,6 +304,8 @@ public class PersonalAuthActivity extends BaseAppCompatActivity {
Toast.makeText(con, "签署场景成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "签署场景成功", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) { } else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "实名认证成功", Toast.LENGTH_SHORT).show();
EsignSdk.getInstance().finishH5Activity();
finish();
} else { } else {
Toast.makeText(con, "意愿认证成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "意愿认证成功", Toast.LENGTH_SHORT).show();
} }
@@ -20,10 +20,14 @@ import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean; import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarDelBean; import com.arpa.hndahesudintocctmsdriver.bean.CarDelBean;
import com.arpa.hndahesudintocctmsdriver.bean.IsAuthDriverAuthQualificationBean; import com.arpa.hndahesudintocctmsdriver.bean.IsAuthDriverAuthQualificationBean;
import com.arpa.hndahesudintocctmsdriver.bean.OCRBankBean;
import com.arpa.hndahesudintocctmsdriver.bean.OCRRoadBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean; import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.AuthRequest; import com.arpa.hndahesudintocctmsdriver.request.AuthRequest;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset; import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment; import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.WalletFragment;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog; import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup; import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil; import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
@@ -32,6 +36,7 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.PatternUtils;
import com.github.gzuliyujiang.wheelpicker.DatePicker; import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode; import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson; import com.google.gson.Gson;
@@ -104,6 +109,17 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
CacheGroup.cacheList.remove("onlyGetDetail"); CacheGroup.cacheList.remove("onlyGetDetail");
} }
if (CacheGroup.cacheList.get("ORCRoadLicZj") != null) {
OCRRoadBean ib = new Gson().fromJson(CacheGroup.cacheList.get("ORCRoadLicZj"), OCRRoadBean.class);
customDialog.dismiss();
if (ib.getCode() == 200 && ib.getData() != null) {
value1.setText(PatternUtils.getNumByStr(ib.getData().getLicenseNumber()));
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("ORCRoadLicZj");
}
if (CacheGroup.cacheList.get("upload") != null) { if (CacheGroup.cacheList.get("upload") != null) {
UploadBean ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class); UploadBean ub = gson.fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class);
@@ -118,22 +134,29 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 5); new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 5);
break; break;
case 3: case 3:
//道路运输证ocr识别
new OCRRequest().ORCRoadLicZj(con, hd, ub.getData().getUrl());
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2); new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2);
break; break;
case 4: case 4:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 7); new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 7);
break; break;
default:
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
break;
} }
url = ub.getData().getUrl(); url = ub.getData().getUrl();
// Glide.with(con).load(url).into(img); // Glide.with(con).load(url).into(img);
Glide.with(con).load(path).into(img); Glide.with(con).load(path).into(img);
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
CacheGroup.cacheList.remove("upload"); CacheGroup.cacheList.remove("upload");
} }
if (CacheGroup.cacheList.get("saveCarImg") != null) { if (CacheGroup.cacheList.get("saveCarImg") != null) {
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("saveCarImg"), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("saveCarImg"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
switch (type) { switch (type) {
@@ -1,12 +1,17 @@
package com.arpa.hndahesudintocctmsdriver.ui.home; package com.arpa.hndahesudintocctmsdriver.ui.home;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.graphics.Outline; import android.graphics.Outline;
import android.location.Location; import android.location.Location;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
@@ -23,6 +28,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView; import androidx.cardview.widget.CardView;
import androidx.fragment.app.FragmentActivity;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener; import com.alct.mdp.callback.OnDownloadResultListener;
@@ -36,18 +42,28 @@ import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker; import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle; import com.amap.api.maps.model.MyLocationStyle;
import com.arpa.hndahesudintocctmsdriver.bean.BankCardListBean;
import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean; import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig; import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant; import com.arpa.hndahesudintocctmsdriver.constant.JTTConstant;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.WalletRequest;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity; import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.OneDayShowUtils;
import com.arpa.hndahesudintocctmsdriver.util.PermissionUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.gyf.cactus.Cactus; import com.gyf.cactus.Cactus;
import com.hjq.xtoast.XToast; import com.hjq.xtoast.XToast;
@@ -95,8 +111,11 @@ import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import pub.devrel.easypermissions.EasyPermissions;
/** /**
* @author hlh * @author hlh
* @version 1.0.0 * @version 1.0.0
@@ -117,7 +136,11 @@ public class HomeFragment extends BaseFragment {
private HuoYuanListBean hb; private HuoYuanListBean hb;
private Gson gson = new Gson(); private Gson gson = new Gson();
private CardView btn_news, btn_loadin, btn_update; private CardView btn_news, btn_loadin, btn_update;
private LinearLayout order_all; private LinearLayout order_all, llCurWay;
private TextView tvWaybill, tvGo, tvZX;
private ImageView ivType;
private HuoYuanListBean uab; private HuoYuanListBean uab;
private List<Marker> list = new ArrayList<>(); private List<Marker> list = new ArrayList<>();
private HuoYuanListDealBean hdb; private HuoYuanListDealBean hdb;
@@ -126,6 +149,8 @@ public class HomeFragment extends BaseFragment {
private ImageConfig ic; private ImageConfig ic;
private DriverExpireBean deb; private DriverExpireBean deb;
private XToast xToast;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
@@ -139,6 +164,23 @@ public class HomeFragment extends BaseFragment {
refreshLayout.finishRefresh(500); refreshLayout.finishRefresh(500);
keys = false; keys = false;
} }
//银行卡信息接收
if (CacheGroup.cacheList.get(dataName2) != null) {
BankCardListBean bcb = new Gson().fromJson(CacheGroup.cacheList.get(dataName2), BankCardListBean.class);
if (bcb.getCode() == 200) {
if (bcb.getData() == null || bcb.getData().getRecords() == null || bcb.getData().getRecords().size() < 1) {
new MessageUtils().showSimCenPop(con, "缺少银行卡可能会导致运费无法结算,是否去添加!", "取消", "确认", () -> {
Intent in333 = new Intent(con, UpBankActivity.class);
startActivity(in333);
});
}
} else {
Toast.makeText(con, bcb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(dataName2);
}
if (CacheGroup.cacheList.get("userdata") != null) { if (CacheGroup.cacheList.get("userdata") != null) {
ub = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class); ub = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if (ub.getCode() == 200) { if (ub.getCode() == 200) {
@@ -146,13 +188,13 @@ public class HomeFragment extends BaseFragment {
MsgUtil.addHdMsgWat(hd, 33); MsgUtil.addHdMsgWat(hd, 33);
//新用户注册,需弹窗提示注册 //新用户注册,需弹窗提示注册
if ("0".equals(ub.getData().getRealAuthentication())) { // if ("0".equals(ub.getData().getRealAuthentication())) {
new MessageUtils().showSimCenPop(con, "该司机还未认证,未认证无法接单。是否去注册!", () -> { // new MessageUtils().showSimCenPop(con, "该司机还未认证,未认证无法接单。是否去注册!", () -> {
Intent in = new Intent(con, CertificatesActivity.class); // Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 0); // in.putExtra("index", 0);
startActivity(in); // startActivity(in);
}); // });
} // }
} else { } else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -165,9 +207,25 @@ public class HomeFragment extends BaseFragment {
SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob)); SPUtil.insSP(con, JTTConstant.JTT_DATA_NAME, JTTConstant.JTT_DATA_ORDER_KEY, gson.toJson(sob));
initStart(); initStart();
StartOrderParts.setStartOrder(con, sob); StartOrderParts.setStartOrder(con, sob);
if (sob.getData() != null) { if (sob.getData() != null && !sob.getData().getWaybillStatus().equals("已取消")) {
StartOrderBean.DataDTO.WayChildrenDTO xData = null;
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (2 == sob.getData().getWayChildren().get(i).getType()) {
xData = sob.getData().getWayChildren().get(i);
break;
}
}
if (xData != null && xData.getStatus() == 3) {
SPUtils.remove(con, "curWaybillId");
llCurWay.setVisibility(View.GONE);
} else {
dealCurWay(sob.getData());
ur.getJtts(sob.getData().getShippingNoteNumber()); ur.getJtts(sob.getData().getShippingNoteNumber());
} }
} else {
SPUtils.remove(con, "curWaybillId");
llCurWay.setVisibility(View.GONE);
}
} else { } else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
} }
@@ -200,6 +258,35 @@ public class HomeFragment extends BaseFragment {
if (CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA) != null) { if (CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA) != null) {
DriverAuthDataBean dad = gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA), DriverAuthDataBean.class); DriverAuthDataBean dad = gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA), DriverAuthDataBean.class);
if (dad.getCode() == 200) { if (dad.getCode() == 200) {
if (dad.getData() == null) {
new MessageUtils().showSimCenPop(con, "该司机缺少身份证,未认证无法接单。是否去添加!","去添加", () -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 0);
startActivity(in);
});
CacheGroup.cacheList.remove(WoDeFragment.AUTH_DATA);
return;
}
if (dad.getData() != null && TextUtils.isEmpty(dad.getData().getIdcard())) {
new MessageUtils().showSimCenPop(con, "该司机缺少身份证,未认证无法接单。是否去添加!", "去添加",() -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 0);
startActivity(in);
});
} else if (dad.getData() != null && TextUtils.isEmpty(dad.getData().getCardNo())) {
new MessageUtils().showSimCenPop(con, "该司机缺少银行卡,未认证无法接单。是否去添加!", "去添加",() -> {
Intent in333 = new Intent(con, UpBankActivity.class);
in333.putExtra("type", 1);
startActivity(in333);
});
} else if (dad.getData() != null && TextUtils.isEmpty(dad.getData().getDriverLicense())) {
new MessageUtils().showSimCenPop(con, "该司机缺少驾驶证,未认证无法接单。是否去添加!", "去添加",() -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 0);
startActivity(in);
});
}
SPUtil.insSP(con, "data", "authdata", CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA)); SPUtil.insSP(con, "data", "authdata", CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA));
if (dad.getData() != null && 100003 == dad.getData().getAuditStatus()) { if (dad.getData() != null && 100003 == dad.getData().getAuditStatus()) {
initAlct(); initAlct();
@@ -241,11 +328,15 @@ public class HomeFragment extends BaseFragment {
in.putExtra("url", deb.getData().getIdCardUpdateUrl()); in.putExtra("url", deb.getData().getIdCardUpdateUrl());
} }
} }
if (!TextUtils.isEmpty(deb.getData().getDriverLicenseUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getIdCardUpdateUrl())|| if (!TextUtils.isEmpty(deb.getData().getDriverLicenseUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getIdCardUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getQualificationUpdateUrl())||!TextUtils.isEmpty(deb.getData().getRoadLicenseUpdateUrl())|| !TextUtils.isEmpty(deb.getData().getQualificationUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getRoadLicenseUpdateUrl()) ||
!TextUtils.isEmpty(deb.getData().getInsuranceUpdateUrl())) { !TextUtils.isEmpty(deb.getData().getInsuranceUpdateUrl())) {
new XToast<>(act) if (xToast == null) {
.setContentView(R.layout.view_bc) xToast = new XToast(act);
} else if (xToast != null && xToast.isShow()) {
xToast.cancel();
}
xToast.setContentView(R.layout.view_bc)
// 设置成可拖拽的 // 设置成可拖拽的
.setDraggable() .setDraggable()
// 设置显示时长 // 设置显示时长
@@ -260,6 +351,22 @@ public class HomeFragment extends BaseFragment {
// 设置窗口背景阴影强度 // 设置窗口背景阴影强度
//.setBackgroundDimAmount(0.5f) //.setBackgroundDimAmount(0.5f)
.showAsDropDown(home_top, Gravity.BOTTOM, 1200, 1000); .showAsDropDown(home_top, Gravity.BOTTOM, 1200, 1000);
// new XToast<>(act)
// .setContentView(R.layout.view_bc)
// // 设置成可拖拽的
// .setDraggable()
// // 设置显示时长
// .setDuration(1000 * 60 * 60 * 12)
// .setOnClickListener(R.id.img_kf, (toast, view) -> {
// toast.startActivity(in);
// Log.e("-is-", view.isInTouchMode() + "");
// })
// // 设置动画样式
// //.setAnimStyle(android.R.style.Animation_Translucent)
// // 设置外层是否能被触摸
// // 设置窗口背景阴影强度
// //.setBackgroundDimAmount(0.5f)
// .showAsDropDown(home_top, Gravity.BOTTOM, 1200, 1000);
} }
CacheGroup.cacheList.remove("driverExpire"); CacheGroup.cacheList.remove("driverExpire");
} }
@@ -320,8 +427,8 @@ public class HomeFragment extends BaseFragment {
EventBus.getDefault().register(this); EventBus.getDefault().register(this);
hyr = new HuoYuanRequset(con, hd); hyr = new HuoYuanRequset(con, hd);
ur = new UserRequset(con, hd); ur = new UserRequset(con, hd);
initRefreshLoad();
initView(null); initView(null);
initRefreshLoad();
btn_news.setOnClickListener(v -> { btn_news.setOnClickListener(v -> {
}); });
@@ -427,6 +534,13 @@ public class HomeFragment extends BaseFragment {
order_box = v.findViewById(R.id.order_box); order_box = v.findViewById(R.id.order_box);
auth_box = v.findViewById(R.id.auth_box); auth_box = v.findViewById(R.id.auth_box);
order_all = v.findViewById(R.id.order_all); order_all = v.findViewById(R.id.order_all);
llCurWay = v.findViewById(R.id.llCurWay);
tvWaybill = v.findViewById(R.id.tvWaybill);
tvGo = v.findViewById(R.id.tvGo);
tvZX = v.findViewById(R.id.loadingAddress);
ivType = v.findViewById(R.id.ivType);
ImageView fun_left = v.findViewById(R.id.fun_left); ImageView fun_left = v.findViewById(R.id.fun_left);
ImageView fun_right = v.findViewById(R.id.fun_right); ImageView fun_right = v.findViewById(R.id.fun_right);
fun_left.setOnClickListener(v16 -> startActivity(new Intent(con, OrderListActivity.class))); fun_left.setOnClickListener(v16 -> startActivity(new Intent(con, OrderListActivity.class)));
@@ -481,18 +595,35 @@ public class HomeFragment extends BaseFragment {
v1.setOnClickListener(v2 -> { v1.setOnClickListener(v2 -> {
switch (position) { switch (position) {
case 0: case 0:
//startActivity(new Intent(con, OrderListActivity.class)); PermissionUtils.Companion.getInstance().showPermissionMessage(getActivity(), "位置权限使用说明", "用于向您推荐可能感兴趣的住宿、饮食、加油站、汽车维修等",
PermissionX.init(getActivity()) new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
.permissions(Manifest.permission.ACCESS_FINE_LOCATION) (allGranted, grantedList, deniedList) -> {
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
Intent in = new Intent(con, BusinessActivity.class); Intent in = new Intent(con, BusinessActivity.class);
in.putExtra("type", "餐饮"); in.putExtra("type", "餐饮");
startActivity(in); startActivity(in);
} else { } else {
Toast.makeText(act.getBaseContext(), "请先开启定位权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(con, "缺少定位权限,将无法为您提供服务,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
// Toast.makeText(act.getBaseContext(), "请先开启定位权限", Toast.LENGTH_LONG).show();
} }
}); });
//startActivity(new Intent(con, OrderListActivity.class));
// PermissionX.init(getActivity())
// .permissions(Manifest.permission.ACCESS_FINE_LOCATION)
// .request((allGranted, grantedList, deniedList) -> {
// if (allGranted) {
// Intent in = new Intent(con, BusinessActivity.class);
// in.putExtra("type", "餐饮");
// startActivity(in);
// } else {
// Toast.makeText(act.getBaseContext(), "请先开启定位权限", Toast.LENGTH_LONG).show();
// }
// });
//Toast.makeText(con,"定位开启失败,请检查配置项",Toast.LENGTH_LONG).show(); //Toast.makeText(con,"定位开启失败,请检查配置项",Toast.LENGTH_LONG).show();
break; break;
case 1: case 1:
@@ -516,6 +647,11 @@ public class HomeFragment extends BaseFragment {
in5.putExtra("url", "https://ks.wjx.top/vm/h6Jqu8A.aspx"); in5.putExtra("url", "https://ks.wjx.top/vm/h6Jqu8A.aspx");
in5.putExtra("title", "知识竞猜"); in5.putExtra("title", "知识竞猜");
startActivity(in5); startActivity(in5);
// Intent in = new Intent(getContext(), WebActivity.class);
// in.putExtra("url", "http://192.168.1.152:8080");
// in.putExtra("title", "隐私政策");
// getContext().startActivity(in);
break; break;
default: default:
break; break;
@@ -526,6 +662,100 @@ public class HomeFragment extends BaseFragment {
initMap(); initMap();
} }
StartOrderBean.DataDTO.WayChildrenDTO zData = new StartOrderBean.DataDTO.WayChildrenDTO();
StartOrderBean.DataDTO.WayChildrenDTO xData = new StartOrderBean.DataDTO.WayChildrenDTO();
/**
* 一装一卸逻辑
*
* @param data
*/
private void dealCurWay(StartOrderBean.DataDTO data) {
SPUtils.put(con, "curWaybillId", data.getWaybillId());
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (1 == data.getWayChildren().get(i).getType()) {
zData = data.getWayChildren().get(i);
break;
}
}
for (int i = 0; i < data.getWayChildren().size(); i++) {
if (2 == data.getWayChildren().get(i).getType()) {
xData = data.getWayChildren().get(i);
break;
}
}
llCurWay.setVisibility(View.VISIBLE);
tvWaybill.setText(data.getShippingNoteNumber());
tvGo.setText(getGoText(zData.getStatus(), xData.getStatus()));
if (data.getWaybillStatus().equals("待装货")) {
tvZX.setText(zData.getAddress());
ivType.setBackgroundResource(R.mipmap.zhuang);
} else {
tvZX.setText(xData.getAddress());
ivType.setBackgroundResource(R.mipmap.xie);
}
tvGo.setOnClickListener(v -> {
int zStatus = zData.getStatus();
int xStatus = xData.getStatus();
if (zStatus == 0) {//未装货
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 0);
in.putExtra("wid", zData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", zData.getId() + "");
in.putExtra("h_type", 0);
in.putExtra("sob", gson.toJson(sob));
startActivity(in);
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zData.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 1);
in.putExtra("wid", xData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else {
ToastUtils.showToast(con, "请到卸货地再进行卸货操作!");
}
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
in.putExtra("type", 2);
in.putExtra("wid", xData.getId() + "");
in.putExtra("h_type", 1);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else {
ToastUtils.showToast(con, "已完成该运单");
}
});
}
private String getGoText(int zStatus, int xStatus) {
if (zStatus == 0) {//未装货
return "去装货";
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
return "装货回单";
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
return "去卸货";
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
return "卸货回单";
}
return "已完成";
}
/** /**
* *
*/ */
@@ -545,12 +775,18 @@ public class HomeFragment extends BaseFragment {
ur.upApp(); ur.upApp();
hyr.getHuoYuan(1, 100); hyr.getHuoYuan(1, 100);
ur.getImage(1); ur.getImage(1);
WalletRequest qr = new WalletRequest(con, hd);
if (UiAuxiliary.isLogin(con)) { if (UiAuxiliary.isLogin(con)) {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
ur.User(); ur.User();
// if (!OneDayShowUtils.getInstance().todayIsShow(con)) {
// qr.getBankCardList();
// }
ur.getDriverExpire(); ur.getDriverExpire();
hyr.startOrder(0); hyr.startOrder(curWaybillId == -1 ? 0 : curWaybillId);
// hyr.startOrder(0);
//获取权限 应用市场审核不通过
ur.driverAuthData(); ur.driverAuthData();
} }
// oldTime= Calendar.getInstance().getTimeInMillis(); // oldTime= Calendar.getInstance().getTimeInMillis();
@@ -609,8 +845,13 @@ public class HomeFragment extends BaseFragment {
Log.e("开始轨迹上传服务", "-----"); Log.e("开始轨迹上传服务", "-----");
orderNum.setText("运单号:" + sob.getData().getShippingNoteNumber()); orderNum.setText("运单号:" + sob.getData().getShippingNoteNumber());
order_state.setText("" + sob.getData().getWaybillStatus()); order_state.setText("" + sob.getData().getWaybillStatus());
try {
Intent serviceIn = new Intent(con, TrackService.class); Intent serviceIn = new Intent(con, TrackService.class);
getActivity().startService(serviceIn); getActivity().startService(serviceIn);
} catch (Exception e) {
e.printStackTrace();
}
} else { } else {
SPUtil.insSP(con, "order", "ShippingNoteNumber", ""); SPUtil.insSP(con, "order", "ShippingNoteNumber", "");
order_start.setVisibility(View.GONE); order_start.setVisibility(View.GONE);
@@ -900,29 +1141,64 @@ public class HomeFragment extends BaseFragment {
// } // }
public void initAlct() { public void initAlct() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// if (!OneDayShowUtils.getInstance().todayIsShowQx(con)){
// boolean b = EasyPermissions.hasPermissions(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE,
// Manifest.permission.READ_EXTERNAL_STORAGE,
// Manifest.permission.ACCESS_FINE_LOCATION,
// Manifest.permission.ACCESS_COARSE_LOCATION);
// if (b) {
// ALProcess.verification(con);
// }
PermissionX.init(getActivity()) PermissionX.init(getActivity())
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE, .permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO) Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CAMERA,
Manifest.permission.ACCESS_COARSE_LOCATION)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
ALProcess.verification(con);
} else {
boolean accessCoarseLocation = deniedList.contains("android.permission.ACCESS_FINE_LOCATION");
boolean contains = deniedList.contains("android.permission.WRITE_EXTERNAL_STORAGE");
boolean camear = deniedList.contains("android.permission.CAMERA");
if (accessCoarseLocation | contains) {
new MessageUtils().showSimCenPop(con, "缺少定位权限或媒体和文件权限,会导致无法结算运费,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
} else if (camear) {
new MessageUtils().showSimCenPop(con, "缺少相机权限,会导致无法实名认证,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
}
}
});
// }
} else { } else {
}
});
ALProcess.verification(con); ALProcess.verification(con);
MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
Log.e("--成功信息--", new Gson().toJson(o));
} }
@Override // ALProcess.verification(con);
public void onFailure(String s, String s1) { // MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() {
Log.e("--失败信息--", s + s1); // @Override
} // public void onSuccess(Object o) {
}); // Log.e("--成功信息--", new Gson().toJson(o));
// }
//
// @Override
// public void onFailure(String s, String s1) {
// Log.e("--失败信息--", s + s1);
// }
// });
} }
private MyLocationStyle myLocationStyle;//地图定位样式 private MyLocationStyle myLocationStyle;//地图定位样式
@@ -998,6 +1274,18 @@ public class HomeFragment extends BaseFragment {
initView(null); initView(null);
} }
@Subscribe
public void processResult(HomeWaybillEvent home) {
if (home.getMessage() == 1) {
hyr.getHuoYuan(1, 100);
} else {
int curWaybillId = (int) SPUtils.get(con, "curWaybillId", -1);
hyr.startOrder(curWaybillId == -1 ? 0 : curWaybillId);
}
}
class Model { class Model {
private int imageId; private int imageId;
@@ -1,16 +1,26 @@
package com.arpa.hndahesudintocctmsdriver.ui.home; package com.arpa.hndahesudintocctmsdriver.ui.home;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.Html; import android.text.Html;
import android.text.Layout;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log; import android.util.Log;
import android.view.inputmethod.EditorInfo;
import android.widget.Button; import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@@ -22,14 +32,18 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.H5Activity; import com.arpa.hndahesudintocctmsdriver.H5Activity;
import com.arpa.hndahesudintocctmsdriver.bean.JTT; import com.arpa.hndahesudintocctmsdriver.bean.JTT;
import com.arpa.hndahesudintocctmsdriver.bean.WaybillStatusBean;
import com.arpa.hndahesudintocctmsdriver.event.FaceEvent; import com.arpa.hndahesudintocctmsdriver.event.FaceEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent; import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts; import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess; import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.ui.auth.PersonalAuthActivity; import com.arpa.hndahesudintocctmsdriver.ui.auth.PersonalAuthActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil; import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil; import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
@@ -60,6 +74,7 @@ import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil; import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.permissionx.guolindev.PermissionX;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.Subscribe;
@@ -103,16 +118,17 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show(); //Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show();
customDialog.dismiss(); customDialog.dismiss();
// EsignSdk.getInstance().startH5Activity(act, (String) bb.getData()); // EsignSdk.getInstance().startH5Activity(act, (String) bb.getData());
if (null==bb.getData()){ if (null == bb.getData()) {
UiAuxiliary.homeRequest("接单"); UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class); Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0"); in.putExtra("id", "0");
startActivity(in); startActivity(in);
finish(); finish();
}else{ } else {
Intent intent = new Intent(this, H5Activity.class); Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData()); intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false); intent.putExtra("view_file", false);
intent.putExtra("title", "合同签署");
startActivity(intent); startActivity(intent);
} }
//finish(); //finish();
@@ -134,14 +150,17 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
} }
CacheGroup.cacheList.remove("jttRes"); CacheGroup.cacheList.remove("jttRes");
} }
break;
case 13:
int index = Integer.valueOf((String) m.obj); if (CacheGroup.cacheList.get("orderStatus") != null) {
Log.e("--选择车辆--", clb.getData().get(index).getCarNumber()); if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
car.setText("选择车辆:" + clb.getData().get(index).getCarNumber()); customDialog.dismiss();
cid = clb.getData().get(index).getCarId(); }
break; Log.e("orderStatus", CacheGroup.cacheList.get("orderStatus"));
case 1111://安联用户验证通过,接单 WaybillStatusBean status = gson.fromJson(CacheGroup.cacheList.get("orderStatus"), WaybillStatusBean.class);
if (status.getCode() == 200) {
if (status.getData() != null) {
//执行运单下一步操作
new XPopup.Builder(con) new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asConfirm("请确认接单", "是否确定承运此运单?", .asConfirm("请确认接单", "是否确定承运此运单?",
@@ -151,6 +170,37 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
hyr.confirm(cid, id); hyr.confirm(cid, id);
}, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局 }, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show(); .show();
} else {//订单已取消
new MessageUtils().showSimCenPop(con, "运单异常将无法进行下步操作,请返回首页", "取消", "确定", () -> {
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent(1));
ActivityUtils.finishToActivity(MainActivity.class, false);
});
}
} else {
Toast.makeText(con, status.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("orderStatus");
}
break;
case 13:
int index = Integer.valueOf((String) m.obj);
Log.e("--选择车辆--", clb.getData().get(index).getCarNumber());
car.setText("选择车辆:" + clb.getData().get(index).getCarNumber());
cid = clb.getData().get(index).getCarId();
break;
case 1111://安联用户验证通过,接单
hyr.getOrderStatus(id);
// new XPopup.Builder(con)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
// .asConfirm("请确认接单", "是否确定承运此运单?",
// "取消", "确认",
// () -> {
// Log.e("--id--", "cid:" + cid + "---wid:" + id);
// hyr.confirm(cid, id);
// }, () -> customDialog.dismiss(), false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
// .show();
break; break;
case 2222://安联用户验证不通过 case 2222://安联用户验证不通过
customDialog.dismiss(); customDialog.dismiss();
@@ -200,6 +250,8 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//2021/02/27记,类型声明错误 //2021/02/27记,类型声明错误
ImageButton return_btn = v.findViewById(R.id.return_btn); ImageButton return_btn = v.findViewById(R.id.return_btn);
ImageButton xuan = v.findViewById(R.id.xuan); ImageButton xuan = v.findViewById(R.id.xuan);
CheckBox checkBox = v.findViewById(R.id.cb);
TextView totalFreight = v.findViewById(R.id.totalFreight);
ImageButton btnFp = v.findViewById(R.id.btnFp); ImageButton btnFp = v.findViewById(R.id.btnFp);
TextView effectiveTime = v.findViewById(R.id.effectiveTime); TextView effectiveTime = v.findViewById(R.id.effectiveTime);
TextView check_contract = v.findViewById(R.id.check_contract); TextView check_contract = v.findViewById(R.id.check_contract);
@@ -210,6 +262,15 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
return_btn.setOnClickListener(v16 -> { return_btn.setOnClickListener(v16 -> {
finish(); finish();
}); });
totalFreight.setText("****");
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
totalFreight.setText(hyd.getData().getTotalFreight());
} else {
totalFreight.setText("****");
}
// totalFreight.setTransformationMethod(isChecked? HideReturnsTransformationMethod.getInstance(): PasswordTransformationMethod.getInstance());
});
// String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>"; // String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>";
String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。"; String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。";
tvZzs.setText(Html.fromHtml(textSource)); tvZzs.setText(Html.fromHtml(textSource));
@@ -358,7 +419,6 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
// }, 2500); // }, 2500);
// new Handler().postDelayed(() -> { // new Handler().postDelayed(() -> {
// //
// //
@@ -423,10 +483,53 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
* 先判断安联用户信息验证,随后接单 * 先判断安联用户信息验证,随后接单
*/ */
private void reOrder() { private void reOrder() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
PermissionX.init(this)
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
} else {
boolean accessCoarseLocation = deniedList.contains("android.permission.ACCESS_FINE_LOCATION");
boolean contains = deniedList.contains("android.permission.WRITE_EXTERNAL_STORAGE");
if (accessCoarseLocation | contains) {
new MessageUtils().showSimCenPop(con, "缺少定位权限或媒体和文件权限,会导致无法接单,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
}
}
});
} catch (Exception e) {
e.printStackTrace();
customDialog = new CustomDialog(con, "正在接单..."); customDialog = new CustomDialog(con, "正在接单...");
customDialog.show(); customDialog.show();
//验证安联用户是否通过 //验证安联用户是否通过
ALProcess.verification(con, hd); ALProcess.verification(con, hd);
} }
} else {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
}
// customDialog = new CustomDialog(con, "正在接单...");
// customDialog.show();
// //验证安联用户是否通过
// ALProcess.verification(con, hd);
}
} }
@@ -186,9 +186,11 @@ public class OrderAllActivity extends BaseActivity {
case 200006: case 200006:
state4.setTextColor(getResources().getColor(R.color.blue)); state4.setTextColor(getResources().getColor(R.color.blue));
state4.setText(" 已评价"); state4.setText(" 已评价");
case 200005:
state3.setTextColor(getResources().getColor(R.color.blue)); state3.setTextColor(getResources().getColor(R.color.blue));
state3.setText(" 已结算"); state3.setText(" 已结算");
case 200005:
// state3.setTextColor(getResources().getColor(R.color.blue));
// state3.setText(" 已结算");
case 200004: case 200004:
state2.setTextColor(getResources().getColor(R.color.blue)); state2.setTextColor(getResources().getColor(R.color.blue));
state2.setText(" 已卸货"); state2.setText(" 已卸货");
@@ -3,6 +3,7 @@ package com.arpa.hndahesudintocctmsdriver.ui.home;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.view.animation.AlphaAnimation; import android.view.animation.AlphaAnimation;
@@ -17,14 +18,31 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.widget.NestedScrollView; import androidx.core.widget.NestedScrollView;
import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocation;
import com.amap.api.location.AMapLocationClient; import com.amap.api.location.AMapLocationClient;
import com.amap.api.location.AMapLocationClientOption; import com.amap.api.location.AMapLocationClientOption;
import com.amap.api.location.AMapLocationListener; import com.amap.api.location.AMapLocationListener;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.LocationSource; import com.amap.api.maps.LocationSource;
import com.amap.api.maps.MapView;
import com.amap.api.maps.model.BitmapDescriptorFactory;
import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.PolylineOptions;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint; import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.route.BusRouteResult;
import com.amap.api.services.route.DrivePath;
import com.amap.api.services.route.DriveRouteResult;
import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch; import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil; import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils; import com.dahe.mylibrary.utils.ToastUtils;
@@ -51,33 +69,13 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.arpa.hndahesudintocctmsdriver.util.view.ScoreView; import com.arpa.hndahesudintocctmsdriver.util.view.ScoreView;
import com.lk.mapsdk.base.mapapi.initializer.InitializerOptions;
import com.lk.mapsdk.base.mapapi.initializer.SDKInitializer;
import com.lk.mapsdk.base.mapapi.model.CoordType;
import com.lk.mapsdk.base.mapapi.model.LatLng;
import com.lk.mapsdk.base.mapapi.model.LatLngBounds;
import com.lk.mapsdk.map.mapapi.annotation.Marker;
import com.lk.mapsdk.map.mapapi.annotation.Polyline;
import com.lk.mapsdk.map.mapapi.annotation.options.MarkerOptions;
import com.lk.mapsdk.map.mapapi.annotation.options.PolylineOptions;
import com.lk.mapsdk.map.mapapi.annotation.util.BitmapDescriptorFactory;
import com.lk.mapsdk.map.mapapi.camera.MapStatusUpdateFactory;
import com.lk.mapsdk.map.mapapi.map.LKMap;
import com.lk.mapsdk.map.mapapi.map.MapView;
import com.lk.mapsdk.map.platform.style.layers.Property;
import com.lk.mapsdk.route.mapapi.base.AutoInfo;
import com.lk.mapsdk.route.mapapi.base.DrivingCostingOptionsInfo;
import com.lk.mapsdk.route.mapapi.base.LocationsInfo;
import com.lk.mapsdk.route.mapapi.driving.DrivingRoutePlan;
import com.lk.mapsdk.route.mapapi.driving.DrivingRoutePlanOptions;
import com.lk.mapsdk.route.mapapi.driving.DrivingRoutePlanResult;
import com.lk.mapsdk.route.mapapi.driving.OnDrivingRoutePlanListener;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
public class StartYunDanActivity extends BaseActivity { public class StartYunDanActivity extends BaseActivity {
@@ -87,7 +85,7 @@ public class StartYunDanActivity extends BaseActivity {
private String TAG = "StartYunDanActivity"; private String TAG = "StartYunDanActivity";
private NestedScrollView bottomSheet; private NestedScrollView bottomSheet;
private MapView mapView; private MapView map;
private BaseRecyclerView brv; private BaseRecyclerView brv;
private AlphaAnimation mShowAnim, mHiddenAmin;//控件的显示和隐藏动画 private AlphaAnimation mShowAnim, mHiddenAmin;//控件的显示和隐藏动画
private LinearLayout protect; private LinearLayout protect;
@@ -109,11 +107,14 @@ public class StartYunDanActivity extends BaseActivity {
switch (m.what) { switch (m.what) {
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
//获取页面数据 //获取页面数据
if (CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER) != null && CacheGroup.cacheList.get(GET_EVALUTE) != null) { if (CacheGroup.cacheList.get("refreshorderDetail") != null && CacheGroup.cacheList.get(GET_EVALUTE) != null) {
Log.e("-评论-", CacheGroup.cacheList.get(GET_EVALUTE)); Log.e("-评论-", CacheGroup.cacheList.get(GET_EVALUTE));
Log.e("-运单-", CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER)); Log.e("-运单-", CacheGroup.cacheList.get("refreshorderDetail"));
sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class); sob = gson.fromJson(CacheGroup.cacheList.get("refreshorderDetail"), StartOrderBean.class);
wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class); wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
if (sob.getCode() == 200 && sob.getData() != null) { if (sob.getCode() == 200 && sob.getData() != null) {
id = sob.getData().getWaybillId(); id = sob.getData().getWaybillId();
initView(null); initView(null);
@@ -125,7 +126,7 @@ public class StartYunDanActivity extends BaseActivity {
} else { } else {
Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, sob.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(HuoYuanFragmengt.START_ORDER); CacheGroup.cacheList.remove("refreshorderDetail");
CacheGroup.cacheList.remove(GET_EVALUTE); CacheGroup.cacheList.remove(GET_EVALUTE);
} }
//保存评价 //保存评价
@@ -149,6 +150,7 @@ public class StartYunDanActivity extends BaseActivity {
} }
private UserBean ub; private UserBean ub;
private AMap aMap;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -156,10 +158,6 @@ public class StartYunDanActivity extends BaseActivity {
StateStyleUtil.stateTextColor(this); StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_yundan_start); setContentView(R.layout.activity_yundan_start);
con = this; con = this;
mapView = findViewById(R.id.map);
mapView.onCreate(savedInstanceState);
mLKMap = mapView.getMap();
initMap();
id = getIntent().getExtras().getInt("id"); id = getIntent().getExtras().getInt("id");
brv = findViewById(R.id.brv); brv = findViewById(R.id.brv);
protect = findViewById(R.id.protect); protect = findViewById(R.id.protect);
@@ -169,10 +167,12 @@ public class StartYunDanActivity extends BaseActivity {
mBottomSheetBehavior.setHideable(false); mBottomSheetBehavior.setHideable(false);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED); mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
//mBottomSheetBehavior.set //mBottomSheetBehavior.set
map = findViewById(R.id.map);
map.onCreate(savedInstanceState);
// initLoaction(); if (aMap == null) {
aMap = map.getMap();
initLoaction();
}
Log.e("--id--", "" + id); Log.e("--id--", "" + id);
String userdata = SPUtil.getSP(con, "data", "userdata"); String userdata = SPUtil.getSP(con, "data", "userdata");
if (!userdata.equals("")) { if (!userdata.equals("")) {
@@ -208,6 +208,30 @@ public class StartYunDanActivity extends BaseActivity {
initStartBody(v); initStartBody(v);
break; break;
case R.layout.item_yundan_yunxing: case R.layout.item_yundan_yunxing:
LinearLayout llMoney = v.findViewById(R.id.llMoney);
if (!sob.getData().getWaybillStatus().equals("已装货")
&& !sob.getData().getWaybillStatus().equals("待装货")
&& !sob.getData().getWaybillStatus().equals("待接单")) {
if (sob.getData().getWaybillStatus().equals("已装货")) {
StartOrderBean.DataDTO.WayChildrenDTO mySdw = new StartOrderBean.DataDTO.WayChildrenDTO();
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if (sdw.getType() == 1) {
mySdw = sdw;
break;
}
}
if (mySdw.getStatus() == 3) {
llMoney.setVisibility(View.GONE);
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.GONE);
}
ImageView head_img = v.findViewById(R.id.head_img); ImageView head_img = v.findViewById(R.id.head_img);
if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) { if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) {
Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img); Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img);
@@ -321,8 +345,7 @@ public class StartYunDanActivity extends BaseActivity {
} }
initZX(upkey, v15, position, o, 1); initZX(upkey, v15, position, o, 1);
}); });
// search(); search();
doSearch();
} }
public void initZX(boolean key, View v, int position, Object o, int type) { public void initZX(boolean key, View v, int position, Object o, int type) {
@@ -453,365 +476,250 @@ public class StartYunDanActivity extends BaseActivity {
return str; return str;
} }
private CustomDialog customDialog;
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if (mapView != null) { if (map != null) {
mapView.onResume(); map.onResume();
} }
hyr.startOrder(id); if (customDialog==null){
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}else{
if (!customDialog.isShowing()){
customDialog.show();
}
}
hyr.startOrder2(id);
hyr.getEvaluate(id); hyr.getEvaluate(id);
} }
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();
if (mapView != null) { if (map != null) {
mapView.onPause(); map.onPause();
} }
} }
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
if (mapView != null) { if (map != null) {
mapView.onDestroy(); map.onDestroy();
} }
} }
@Override @Override
protected void onSaveInstanceState(@NonNull @NotNull Bundle outState) { protected void onSaveInstanceState(@NonNull @NotNull Bundle outState) {
super.onSaveInstanceState(outState); super.onSaveInstanceState(outState);
mapView.onSaveInstanceState(outState); map.onSaveInstanceState(outState);
} }
LocationSource.OnLocationChangedListener mListener; LocationSource.OnLocationChangedListener mListener;
AMapLocationClient mlocationClient; AMapLocationClient mlocationClient;
AMapLocationClientOption mLocationOption; AMapLocationClientOption mLocationOption;
// public void initLoaction() { public void initLoaction() {
// // 设置定位监听 // 设置定位监听
// aMap.setLocationSource(new LocationSource() { aMap.setLocationSource(new LocationSource() {
// @Override
// public void activate(OnLocationChangedListener onLocationChangedListener) {
// mListener = onLocationChangedListener;
// if (mlocationClient == null) {
// //初始化定位
// try {
// mlocationClient = new AMapLocationClient(con);
// } catch (Exception e) {
// e.printStackTrace();
// }
// //初始化定位参数
// mLocationOption = new AMapLocationClientOption();
// //设置定位回调监听
// mlocationClient.setLocationListener(new AMapLocationListener() {
// @Override
// public void onLocationChanged(AMapLocation aMapLocation) {
// if (mListener != null && aMapLocation != null) {
// if (aMapLocation != null
// && aMapLocation.getErrorCode() == 0) {
// mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点
// } else {
// String errText = "定位失败," + aMapLocation.getErrorCode() + ": " + aMapLocation.getErrorInfo();
// Log.e("AmapErr", errText);
// }
// }
// }
// });
// //设置为高精度定位模式
// mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
// // mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving);
// //设置定位模式为AMapLocationMode.Device_Sensors,仅设备模式。
// //mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Device_Sensors);
// //获取一次定位结果:
// //该方法默认为false。
// mLocationOption.setOnceLocation(true);
// //获取最近3s内精度最高的一次定位结果:
// //设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为truesetOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
// mLocationOption.setOnceLocationLatest(true);
// //设置是否返回地址信息(默认返回地址信息)
// mLocationOption.setNeedAddress(true);
// //设置是否允许模拟位置,默认为true,允许模拟位置
// mLocationOption.setMockEnable(true);
// //单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。
// mLocationOption.setHttpTimeOut(20000);
// //关闭缓存机制
// mLocationOption.setLocationCacheEnable(false);
// //设置定位参数
// mlocationClient.setLocationOption(mLocationOption);
// // 此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
// // 注意设置合适的定位时间的间隔(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求
// // 在定位结束后,在合适的生命周期调用onDestroy()方法
// // 在单次定位情况下,定位无论成功与否,都无需调用stopLocation()方法移除请求,定位sdk内部会移除
// mlocationClient.startLocation();//启动定位
// }
// }
//
// @Override
// public void deactivate() {
// mListener = null;
// if (mlocationClient != null) {
// mlocationClient.stopLocation();
// mlocationClient.onDestroy();
// }
// mlocationClient = null;
// }
// });
// // 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
//// aMap.setMyLocationEnabled(true);
//// ld=new LocationGDUtil(con,hd);
//// ld.onCreate();
// }
private void initMap(){
// 通过InitializerOptions指定初始化配置参数
InitializerOptions options = new InitializerOptions();
// 设置是否使用Https网络请求,默认使用
// options.setIsHttpsEnable(true);
// 设置坐标系,默认GCJ02
// options.setCoorType(CoordType.GCJ02);
SDKInitializer.initialization(getApplicationContext(),options);
}
private DrivingRoutePlanOptions drivingRoutePlanOptions;
private List<LocationsInfo> locationsInfos;
private List<Polyline> polylines = new ArrayList<>();
private List<Marker> markers = new ArrayList<>();
private LKMap mLKMap;
private void doSearch() {
DrivingRoutePlan search = new DrivingRoutePlan();
drivingRoutePlanOptions = new DrivingRoutePlanOptions();
locationsInfos = new ArrayList<>();
// 设置开始坐标
LocationsInfo origin = new LocationsInfo();
origin.setLat(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()));
origin.setLon(Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));
// 设置结束坐标
LocationsInfo dest = new LocationsInfo();
dest.setLat(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()));
dest.setLon(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()));
locationsInfos.add(origin);
locationsInfos.add(dest);
drivingRoutePlanOptions.setLocations(locationsInfos);
AutoInfo autoInfo = new AutoInfo();
DrivingCostingOptionsInfo drivingCostingOptionsInfo = new DrivingCostingOptionsInfo();
drivingCostingOptionsInfo.setAuto(autoInfo);
drivingRoutePlanOptions.setDrivingCostingOptions(drivingCostingOptionsInfo);
search.drivingRoutePlanRequest(drivingRoutePlanOptions, new OnDrivingRoutePlanListener() {
@Override @Override
public void onGetDrivingRoutePlanResult(DrivingRoutePlanResult routePlanResult) { public void activate(OnLocationChangedListener onLocationChangedListener) {
addRoutePlanLine(routePlanResult); mListener = onLocationChangedListener;
addRouteMarker(); if (mlocationClient == null) {
//初始化定位
try {
mlocationClient = new AMapLocationClient(con);
} catch (Exception e) {
e.printStackTrace();
}
//初始化定位参数
mLocationOption = new AMapLocationClientOption();
//设置定位回调监听
mlocationClient.setLocationListener(new AMapLocationListener() {
@Override
public void onLocationChanged(AMapLocation aMapLocation) {
if (mListener != null && aMapLocation != null) {
if (aMapLocation != null
&& aMapLocation.getErrorCode() == 0) {
mListener.onLocationChanged(aMapLocation);// 显示系统小蓝点
} else {
String errText = "定位失败," + aMapLocation.getErrorCode() + ": " + aMapLocation.getErrorInfo();
Log.e("AmapErr", errText);
}
}
} }
}); });
//设置为高精度定位模式
mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
// mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Battery_Saving);
//设置定位模式为AMapLocationMode.Device_Sensors,仅设备模式。
//mLocationOption.setLocationMode(AMapLocationClientOption.AMapLocationMode.Device_Sensors);
//获取一次定位结果:
//该方法默认为false。
mLocationOption.setOnceLocation(true);
//获取最近3s内精度最高的一次定位结果:
//设置setOnceLocationLatest(boolean b)接口为true,启动定位时SDK会返回最近3s内精度最高的一次定位结果。如果设置其为truesetOnceLocation(boolean b)接口也会被设置为true,反之不会,默认为false。
mLocationOption.setOnceLocationLatest(true);
//设置是否返回地址信息(默认返回地址信息)
mLocationOption.setNeedAddress(true);
//设置是否允许模拟位置,默认为true,允许模拟位置
mLocationOption.setMockEnable(true);
//单位是毫秒,默认30000毫秒,建议超时时间不要低于8000毫秒。
mLocationOption.setHttpTimeOut(20000);
//关闭缓存机制
mLocationOption.setLocationCacheEnable(false);
//设置定位参数
mlocationClient.setLocationOption(mLocationOption);
// 此方法为每隔固定时间会发起一次定位请求,为了减少电量消耗或网络流量消耗,
// 注意设置合适的定位时间的间隔(最小间隔支持为2000ms),并且在合适时间调用stopLocation()方法来取消定位请求
// 在定位结束后,在合适的生命周期调用onDestroy()方法
// 在单次定位情况下,定位无论成功与否,都无需调用stopLocation()方法移除请求,定位sdk内部会移除
mlocationClient.startLocation();//启动定位
}
} }
/** @Override
* 添加线路规划路线 public void deactivate() {
* mListener = null;
* @param routePlanResult if (mlocationClient != null) {
*/ mlocationClient.stopLocation();
private void addRoutePlanLine(DrivingRoutePlanResult routePlanResult) { mlocationClient.onDestroy();
if (routePlanResult == null) { }
Toast.makeText(this, "没有检索到结果", Toast.LENGTH_LONG).show(); mlocationClient = null;
}
});
// 设置为true表示显示定位层并可触发定位,false表示隐藏定位层并不可触发定位,默认是false
aMap.setMyLocationEnabled(true);
// ld=new LocationGDUtil(con,hd);
// ld.onCreate();
}
private RouteSearch mRouteSearch;//路线查询器
private List<LatLonPoint> lists = new ArrayList<>();
public void search() {
String latitude = sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude();
if (TextUtils.isEmpty(latitude)) {
return; return;
} }
// try {
if (routePlanResult.getRouteInfos() == null || routePlanResult.getRouteInfos().isEmpty()) { // AMapLocationClient.updatePrivacyShow(con,true,true);
Toast.makeText(this, "没有检索到结果", Toast.LENGTH_LONG).show(); // AMapLocationClient.updatePrivacyAgree(con,true);
return; mRouteSearch = new RouteSearch(this);
// } catch (AMapException e) {
// e.printStackTrace();
// }
//设置数据回调监听器
mRouteSearch.setRouteSearchListener(new OnRouteSearchListener());
//设置开始位置坐标点(注意经纬度不能写反,会报错1800(只能规划到中国区域里的地图路线))
LatLonPoint startPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));
//设置目的地坐标点
LatLonPoint endPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()));
//查询信息对象
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
LatLonPoint sp = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((i)).getLongitude()));
lists.add(sp);
}
}
RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint, endPoint);
//设置搜索参数 1.fromAndTo 路径的起点终点 2.路径规划的策略(这里是驾车模式,具体看高德API) 3.途
//经点,可选 4.避让区域,可选, 5.避让道路 ,可选
RouteSearch.DriveRouteQuery query = new
RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DRIVING_SINGLE_DEFAULT, lists, null, "");
//开始异步查询
mRouteSearch.calculateDriveRouteAsyn(query);
} }
class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener {
@Override
public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
}
@Override
public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int rCode) {
if (rCode == 1000) {//获取规划路线成功,获取到的是了,路线坐标点的集合
List<DrivePath> paths = driveRouteResult.getPaths();
//创建存储坐标点的集合
List<LatLng> latLngs = new ArrayList<>(); List<LatLng> latLngs = new ArrayList<>();
List<LatLng> all = new ArrayList<>(); //遍历获取规划的所有路线坐标点
mLKMap.removeOverlay(polylines); for (DrivePath mDrivePath : paths) {
polylines.clear(); for (DriveStep mDriveStep : mDrivePath.getSteps()) {
for (LatLonPoint mLatLonPoint : mDriveStep.getPolyline()) {
if (routePlanResult.getRouteInfos().size()>0){ latLngs.add(new
latLngs.clear(); LatLng(mLatLonPoint.getLatitude(), mLatLonPoint.getLongitude()));
latLngs.addAll(routePlanResult.getRouteInfos().get(0).getGeometry());
PolylineOptions options = new PolylineOptions();
options.width(8f)
.joinStyle(Property.LINE_JOIN_ROUND)
.points(latLngs)
.color(getResources().getColor(R.color.theme_color));
all.addAll(latLngs);
polylines.add((Polyline) mLKMap.addOverlay(options));
} }
// for (int i = 0;i < routePlanResult.getRouteInfos().size();i ++){
// latLngs.clear();
// latLngs.addAll(routePlanResult.getRouteInfos().get(i).getGeometry());
// PolylineOptions options = new PolylineOptions();
// if(i == routePlanResult.getRouteInfos().size() - 1){
// options.width(8f)
//// .pattern(BitmapDescriptorFactory.fromResource(R.drawable.icon_roud_type))
// .joinStyle(Property.LINE_JOIN_ROUND)
// .points(latLngs)
// .color(getResources().getColor(R.color.theme_color));
// }else{
// options.width(8f)
//// .joinStyle(Property.LINE_JOIN_ROUND)
// .points(latLngs)
// .color(getResources().getColor(R.color.theme_color));
// }
// all.addAll(latLngs);
// polylines.add((Polyline) mLKMap.addOverlay(options));
// }
mLKMap.setMapStatus(MapStatusUpdateFactory.buildUpdateByLatLngBounds(new LatLngBounds(all),100,100,100,100));
} }
}
/** //先清除一下,避免重复显示
* 添加起始点标记 aMap.clear();
*/ //绘制起始位置和目的地marker
private void addRouteMarker() { aMap.addMarker(new MarkerOptions()
mLKMap.removeOverlay(markers);
markers.clear();
MarkerOptions originOptions = new MarkerOptions()
.position(new LatLng(locationsInfos.get(0).getLat(),locationsInfos.get(0).getLon()))
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi)) .icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
.iconGravity(Property.ICON_ANCHOR_BOTTOM) .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
.iconScale(0.5f); Double.parseDouble(sob.getData().getWayChildren().get(0).getLongitude()))));
markers.add((Marker) mLKMap.addOverlay(originOptions)); for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
MarkerOptions destinationOptions = new MarkerOptions() StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
.position(new LatLng(locationsInfos.get(1).getLat(),locationsInfos.get(1).getLon())) int icon = 0;
if (sdw.getType() == 1) {
icon = R.mipmap.z_loc;
} else {
icon = R.mipmap.x_loc;
}
aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(icon))
.position(new LatLng(Double.parseDouble(sdw.getLatitude()), Double.parseDouble(sdw.getLongitude()))));
}
}
aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong)) .icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong))
.iconGravity(Property.ICON_ANCHOR_BOTTOM) .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
.iconScale(0.5f); Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()))));
markers.add((Marker) mLKMap.addOverlay(destinationOptions)); //绘制规划路径路线
aMap.addPolyline(new PolylineOptions()
//路线坐标点的集合
.addAll(latLngs)
//线的宽度
.width(8)
.color(getResources().getColor(R.color.theme_color)));
//设置画线的颜色
//显示完整包含所有marker地图路线
LatLngBounds.Builder builder = LatLngBounds.builder();
for (int i = 0; i < latLngs.size(); i++) {
builder.include(latLngs.get(i));
}
//显示全部marker,第二个参数是四周留空宽度
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
}
} }
@Override
public void onWalkRouteSearched(WalkRouteResult walkRouteResult, int i) {
// private RouteSearch mRouteSearch;//路线查询器 }
// private List<LatLonPoint> lists = new ArrayList<>();
@Override
public void onRideRouteSearched(RideRouteResult rideRouteResult, int i) {
// public void search() { }
//// try {
//// AMapLocationClient.updatePrivacyShow(con,true,true);
//// AMapLocationClient.updatePrivacyAgree(con,true);
// mRouteSearch = new RouteSearch(this);
//// } catch (AMapException e) {
//// e.printStackTrace();
//// }
// //设置数据回调监听器
// mRouteSearch.setRouteSearchListener(new OnRouteSearchListener());
// //设置开始位置坐标点(注意经纬度不能写反,会报错1800(只能规划到中国区域里的地图路线))
// LatLonPoint startPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));
// //设置目的地坐标点
// LatLonPoint endPoint = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()));
// //查询信息对象
// for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
// if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
// LatLonPoint sp = new LatLonPoint(Double.parseDouble(sob.getData().getWayChildren().get(i).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((i)).getLongitude()));
// lists.add(sp);
// }
// }
// RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startPoint, endPoint);
// //设置搜索参数 1.fromAndTo 路径的起点终点 2.路径规划的策略(这里是驾车模式,具体看高德API) 3.途
// //经点,可选 4.避让区域,可选, 5.避让道路 ,可选
// RouteSearch.DriveRouteQuery query = new
// RouteSearch.DriveRouteQuery(fromAndTo, RouteSearch.DRIVING_SINGLE_DEFAULT, lists, null, "");
// //开始异步查询
// mRouteSearch.calculateDriveRouteAsyn(query);
// }
}
// class OnRouteSearchListener implements RouteSearch.OnRouteSearchListener {
//
// @Override
// public void onBusRouteSearched(BusRouteResult busRouteResult, int i) {
//
// }
//
// @Override
// public void onDriveRouteSearched(DriveRouteResult driveRouteResult, int rCode) {
// if (rCode == 1000) {//获取规划路线成功,获取到的是了,路线坐标点的集合
// List<DrivePath> paths = driveRouteResult.getPaths();
// //创建存储坐标点的集合
// List<LatLng> latLngs = new ArrayList<>();
// //遍历获取规划的所有路线坐标点
// for (DrivePath mDrivePath : paths) {
// for (DriveStep mDriveStep : mDrivePath.getSteps()) {
// for (LatLonPoint mLatLonPoint : mDriveStep.getPolyline()) {
// latLngs.add(new
// LatLng(mLatLonPoint.getLatitude(), mLatLonPoint.getLongitude()));
// }
// }
// }
// //先清除一下,避免重复显示
// aMap.clear();
// //绘制起始位置和目的地marker
// aMap.addMarker(new MarkerOptions()
// .icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
// .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get(0).getLongitude()))));
// for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
// if (i != 0 && i != (sob.getData().getWayChildren().size() - 1)) {
// StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
// int icon = 0;
// if (sdw.getType() == 1) {
// icon = R.mipmap.z_loc;
// } else {
// icon = R.mipmap.x_loc;
// }
// aMap.addMarker(new MarkerOptions()
// .icon(BitmapDescriptorFactory.fromResource(icon))
// .position(new LatLng(Double.parseDouble(sdw.getLatitude()), Double.parseDouble(sdw.getLongitude()))));
// }
// }
// aMap.addMarker(new MarkerOptions()
// .icon(BitmapDescriptorFactory.fromResource(R.mipmap.zhong))
// .position(new LatLng(Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((sob.getData().getWayChildren().size() - 1)).getLongitude()))));
// //绘制规划路径路线
// aMap.addPolyline(new PolylineOptions()
// //路线坐标点的集合
// .addAll(latLngs)
// //线的宽度
// .width(8)
// .color(getResources().getColor(R.color.theme_color)));
// //设置画线的颜色
//
// //显示完整包含所有marker地图路线
// LatLngBounds.Builder builder = LatLngBounds.builder();
// for (int i = 0; i < latLngs.size(); i++) {
// builder.include(latLngs.get(i));
// }
// //显示全部marker,第二个参数是四周留空宽度
// aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
// LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
// aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
// }
// }
//
// @Override
// public void onWalkRouteSearched(WalkRouteResult walkRouteResult, int i) {
//
// }
//
// @Override
// public void onRideRouteSearched(RideRouteResult rideRouteResult, int i) {
//
// }
//
// }
public void up_traffic() { public void up_traffic() {
// ShippingNoteInfo[] snis=new ShippingNoteInfo[1]; // ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
@@ -833,25 +741,4 @@ public class StartYunDanActivity extends BaseActivity {
// }); // });
} }
@Override
protected void onStart() {
super.onStart();
mapView.onStart();
}
@Override
protected void onStop() {
super.onStop();
mapView.onStop();
}
@Override
public void onLowMemory() {
super.onLowMemory();
mapView.onDestroy();
}
} }
@@ -1,8 +1,12 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan; package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.content.Intent; import android.content.Intent;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.provider.Settings;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
@@ -15,24 +19,31 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener;
import com.alct.mdp.callback.OnResultListener; import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods; import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image; import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location; import com.alct.mdp.model.Location;
import com.alct.mdp.model.ShipmentStatusEnum;
import com.arpa.hndahesudintocctmsdriver.BuildConfig; import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean; import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess; import com.arpa.hndahesudintocctmsdriver.bean.WaybillStatusBean;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest; import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil; import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils; import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils; import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert; import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil; import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter; import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
@@ -56,6 +67,8 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity; import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader; import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import java.io.File; import java.io.File;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
@@ -88,6 +101,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
private boolean locationKey = false; private boolean locationKey = false;
private TextView tv_loaction; private TextView tv_loaction;
private boolean isFinish = false;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
super.msgMethod(m); super.msgMethod(m);
@@ -112,6 +127,28 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
CacheGroup.cacheList.remove("upload"); CacheGroup.cacheList.remove("upload");
} }
if (CacheGroup.cacheList.get("waybillStatus") != null) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("waybillStatus", CacheGroup.cacheList.get("waybillStatus"));
WaybillStatusBean status = gson.fromJson(CacheGroup.cacheList.get("waybillStatus"), WaybillStatusBean.class);
if (status.getCode() == 200) {
if (status.getData() != null) {
//执行运单下一步操作
typeRequest();
} else {//订单已取消
new MessageUtils().showSimCenPop(con, "运单异常将无法进行下步操作,请返回首页", "取消", "确定", () -> {
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
ActivityUtils.finishToActivity(MainActivity.class, false);
});
}
} else {
Toast.makeText(con, status.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("waybillStatus");
}
for (int i = 0; i < TYPE_NAME.length; i++) { for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) { if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class); BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
@@ -121,11 +158,22 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) { if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
} }
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish(); finish();
} }
} else if ((0 == index || 1 == index) && isFinish) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove(TYPE_NAME[i]); CacheGroup.cacheList.remove(TYPE_NAME[i]);
@@ -150,6 +198,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (sob.getData().getCarNumber().equals(value)) { if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path)); hyr.uploadFile(new File(path));
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员"); new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
} }
} else { } else {
@@ -186,7 +237,16 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
tv_loaction.setText("定位失败,点击重试"); tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null)); tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
new MessageUtils().showSimCenPop(con, "缺少定位权限,去开启精确定位权限!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
// Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收 //定位结果接收
//finish(); //finish();
break; break;
@@ -250,6 +310,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
sobStr = getIntent().getExtras().getString("sob"); sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr); //Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class); sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null); initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置..."); customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show(); customDialog.show();
@@ -294,7 +355,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
submit.setOnClickListener(v -> { submit.setOnClickListener(v -> {
if (imgIds.size() != 0) { if (imgIds.size() != 0) {
typeRequest(); //判断运单是否已取消
hyr.getWaybillStatus(sob.getData().getWaybillId());
// typeRequest();
} else { } else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
} }
@@ -393,16 +456,47 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--装货信息", gson.toJson(lub)); Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位 if (locationKey) {//高德定位
if (keys) { if (keys) {
MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
String string = o.toString();
if (string.equals("PICKUPED")) {//安联装货,单平台未装货
isFinish = true;
//平台确认装货
hyr.loading(lub);
} else {
nfc(); nfc();
loadInfo(); loadInfo();
}
}
@Override
public void onFailure(String s, String s1) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, s1);
}
});
// nfc();
// loadInfo();
// up_traffic_start(); // up_traffic_start();
// up_image_z(); // up_image_z();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
} }
break; break;
@@ -417,16 +511,45 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--卸货信息", gson.toJson(lub)); Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) { if (locationKey) {
if (keys) { if (keys) {
MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
if (o.toString().equals("UNLOADED")) {//安联装货,单平台未装货
//卸货状态-平台
isFinish = true;
hyr.dischargeCargo(lub);
} else {
nfc(); nfc();
uploadInfo(); uploadInfo();
}
}
@Override
public void onFailure(String s, String s1) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, s1);
}
});
// nfc();
// uploadInfo();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
} }
break; break;
@@ -451,9 +574,15 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
} }
hyr.receipt(urib); hyr.receipt(urib);
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
} }
} else { } else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
} }
break; break;
@@ -567,6 +696,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) { if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
} }
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "装货照片上传成功"); Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish(); finish();
@@ -602,6 +732,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) { if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
} }
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "卸货照片上传成功"); Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish(); finish();
@@ -641,6 +772,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) { if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss(); customDialog.dismiss();
} }
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "回单照片上传成功"); Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish(); finish();
@@ -103,7 +103,7 @@ public class LoginActivity extends BaseActivity {
SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname()); SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname());
SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname()); SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname());
SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + ""); SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + "");
JPushInterface.setAlias(con, 0, loginBean.getData().getUname()); // JPushInterface.setAlias(con, 0, loginBean.getData().getUname());
appInfoBean.setStatus("0"); appInfoBean.setStatus("0");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText())); appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post"); ur.postAppInfo(appInfoBean,"post");
@@ -140,8 +140,8 @@ public class WelcomeActivity extends BaseAppCompatActivity {
new XPopup.Builder(con) new XPopup.Builder(con)
.dismissOnBackPressed(false) .dismissOnBackPressed(false)
.dismissOnTouchOutside(false) .dismissOnTouchOutside(false)
.asCustom(new AgreementAlert(con, "https://agreement.dahehuoyun.com/currency/#/", .asCustom(new AgreementAlert(con, "http://agreement.dahehuoyun.com/currency/#/",
"https://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd)) "http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd))
.show(); .show();
} }
Glide.with(con) Glide.with(con)
@@ -343,8 +343,8 @@ public class WelcomeActivity extends BaseAppCompatActivity {
} }
//在使用SDK各组件之前初始化context信息,传入ApplicationContext //在使用SDK各组件之前初始化context信息,传入ApplicationContext
// 路由初始化 // 路由初始化
JVerificationInterface.setDebugMode(true); // JVerificationInterface.setDebugMode(true);
JVerificationInterface.init(con, 5000, (code, msg) -> Log.d("tag", "code = " + code + " msg = " + msg)); // JVerificationInterface.init(con, 5000, (code, msg) -> Log.d("tag", "code = " + code + " msg = " + msg));
//友盟 //友盟
//设置非debug版本开启 //设置非debug版本开启
if (!isDebugVersion(con)) { if (!isDebugVersion(con)) {
@@ -24,6 +24,7 @@ import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts; import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity; import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
@@ -73,9 +73,9 @@ public class SetupActivity extends BaseActivity {
ConfigBean cb= ConfigParts.getConfigParts(con); ConfigBean cb= ConfigParts.getConfigParts(con);
if(cb!=null){ if(cb!=null){
// url1=cb.getData().getUserUrl(); // url1=cb.getData().getUserUrl();
url1="https://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/"; url1="http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/";
// url2=cb.getData().getPrivateUrl(); // url2=cb.getData().getPrivateUrl();
url2="https://agreement.dahehuoyun.com/currency/#/"; url2="http://agreement.dahehuoyun.com/currency/#/";
kefu=cb.getData().getServiceMobile(); kefu=cb.getData().getServiceMobile();
url3=cb.getData().getSecurityUrl(); url3=cb.getData().getSecurityUrl();
} }
@@ -123,12 +123,12 @@ public class SetupActivity extends BaseActivity {
r8.setOnClickListener(v12 -> { r8.setOnClickListener(v12 -> {
Intent in=new Intent(con,WebActivity.class); Intent in=new Intent(con,WebActivity.class);
in.putExtra("title","交易规则"); in.putExtra("title","交易规则");
in.putExtra("url","https://agreement.dahehuoyun.com/rule/transactionRules/dist/index.html#/"); in.putExtra("url","http://agreement.dahehuoyun.com/rule/transactionRules/dist/index.html#/");
startActivity(in); startActivity(in);
}); });
r6.setOnClickListener(v12 -> { r6.setOnClickListener(v12 -> {
String[] title={"平台客服:"+kefu,"银行客服:95528","技术咨询:13460042961"}; String[] title={"平台客服:"+kefu};
String[] value={kefu,"95528","13460042961"}; String[] value={kefu};
new XPopup.Builder(con) new XPopup.Builder(con)
.isDarkTheme(false) .isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -13,6 +13,14 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.AuthRequest;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper; import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener; import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
@@ -33,6 +41,8 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File; import java.io.File;
import java.util.List; import java.util.List;
@@ -47,13 +57,17 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
private ImageView up_bank_img; private ImageView up_bank_img;
private EditText bank_name, bank_number; private EditText bank_name, bank_number;
private TextView submit; private TextView submit, skip;
private ImageView return_btn; private ImageView return_btn;
public GetImageAlert gia = new GetImageAlert(); public GetImageAlert gia = new GetImageAlert();
String path; String path;
private OCRBankBean ib; private OCRBankBean ib;
DriverAuthDataBean dad;
boolean isAuth = false;
private WalletRequest qr; private WalletRequest qr;
private TextView tp; private TextView tp;
private String imageId;
@Override @Override
public void msgMethod(Message m) { public void msgMethod(Message m) {
@@ -62,19 +76,45 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
case RequsetCodeConstants.SUCCESS: case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("OCR_BANK") != null) { if (CacheGroup.cacheList.get("OCR_BANK") != null) {
ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class); ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class);
if (ib.getCode() == 200) {
initView(null);
customDialog.dismiss(); customDialog.dismiss();
if (ib.getCode() == 200&&ib.getData()!=null) {
initView(null);
WalletFragment.isInsBank = true; WalletFragment.isInsBank = true;
} else { } else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show(); Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
} }
CacheGroup.cacheList.remove("OCR_BANK"); CacheGroup.cacheList.remove("OCR_BANK");
} }
if (CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA) != null) {
dad = new Gson().fromJson(CacheGroup.cacheList.get(WoDeFragment.AUTH_DATA), DriverAuthDataBean.class);
if (dad.getCode() == 200) {
if (dad.getData() != null && !TextUtils.isEmpty(dad.getData().getCardNo())) {
isAuth = true;
skip.setVisibility(View.GONE);
submit.setBackgroundResource(R.drawable.bg_btn_grey);
bank_name.setText(dad.getData().getBankName());
bank_number.setText(dad.getData().getCardNo());
Glide.with(con).load(dad.getData().getBankImgUrl()).into(up_bank_img);
}
} else {
Toast.makeText(con, dad.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(WoDeFragment.AUTH_DATA);
}
if (CacheGroup.cacheList.get("insBank") != null) { if (CacheGroup.cacheList.get("insBank") != null) {
if (customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class); BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class);
if (bb.getCode() == 200) { if (bb.getCode() == 200) {
customDialog.dismiss(); if (type == 1) {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
}
Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show();
finish(); finish();
} else { } else {
@@ -82,18 +122,39 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
} }
CacheGroup.cacheList.remove("insBank"); CacheGroup.cacheList.remove("insBank");
} }
if (CacheGroup.cacheList.get("upload") != null) {
UploadBean ub = new Gson().fromJson(CacheGroup.cacheList.get("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imageId = ub.getData().getId()+"";
new OCRRequest().ORCBankZj(con, hd, ub.getData().getUrl());
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
break; break;
case ImageFileCompressUtil.COMPRESS_SUCCESS: case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog = new CustomDialog(con, "上传识别中..."); customDialog = new CustomDialog(con, "上传识别中...");
customDialog.show(); customDialog.show();
path = (String) m.obj; path = (String) m.obj;
new OCRRequest().ORCBank(con, hd, new File(path));
new AuthRequest().upload(con, hd, new File(path));
// new OCRRequest().ORCBank(con, hd, new File(path));
break; break;
} }
} }
private CustomDialog customDialog; private CustomDialog customDialog;
/**
* 1:司机注册自动跳转
* 0:钱包添加银行卡
*/
private int type = 0;
@Override @Override
protected void onCreate(@Nullable Bundle savedInstanceState) { protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -101,27 +162,47 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
setContentView(R.layout.activity_bank_auth); setContentView(R.layout.activity_bank_auth);
act = this; act = this;
con = this; con = this;
Bundle extras = getIntent().getExtras();
if (extras != null) {
type = getIntent().getExtras().getInt("type");
}
up_bank_img = findViewById(R.id.up_bank_img); up_bank_img = findViewById(R.id.up_bank_img);
bank_name = findViewById(R.id.bank_name); bank_name = findViewById(R.id.bank_name);
bank_number = findViewById(R.id.bank_number); bank_number = findViewById(R.id.bank_number);
submit = findViewById(R.id.submit); submit = findViewById(R.id.submit);
skip = findViewById(R.id.skip);
return_btn = findViewById(R.id.return_btn); return_btn = findViewById(R.id.return_btn);
qr = new WalletRequest(con, hd); qr = new WalletRequest(con, hd);
up_bank_img.setOnClickListener(v -> { up_bank_img.setOnClickListener(v -> {
if (isAuth) {
new XPopup.Builder(con)
.asImageViewer(up_bank_img, dad.getData().getBankImgUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher_round))
.show();
} else {
gia.showPopueWindow(this); gia.showPopueWindow(this);
}
}); });
submit.setOnClickListener(new OnLimitClickHelper(this)); submit.setOnClickListener(new OnLimitClickHelper(this));
skip.setOnClickListener(new OnLimitClickHelper(this));
return_btn.setOnClickListener(v -> { return_btn.setOnClickListener(v -> {
finish(); finish();
}); });
if (type == 1) {
skip.setVisibility(View.VISIBLE);
} else {
skip.setVisibility(View.GONE);
}
UserRequset ur = new UserRequset(con, hd);
ur.driverAuthData();
} }
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
bank_name.setText(ib.getData().getBankName()); bank_name.setText(ib.getData().getBankName());
bank_number.setText(ib.getData().getBankCardNumber()); bank_number.setText(ib.getData().getCardNumber());
Glide.with(con).load(ib.getData().getUrl()).into(up_bank_img); Glide.with(con).load(path).into(up_bank_img);
} }
@Override @Override
@@ -160,10 +241,11 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
} }
InsBankInputBean ibib = new InsBankInputBean(); InsBankInputBean ibib = new InsBankInputBean();
ibib.setCardNo(bankNumber); ibib.setCardNo(bankNumber);
ibib.setCardType(Integer.parseInt(ib.getData().getBankCardType())); // ibib.setCardType(Integer.parseInt(ib.getData().getType()));
ibib.setCardType(1);
ibib.setBankName(bankName); ibib.setBankName(bankName);
ibib.setCardUserType(1); ibib.setCardUserType(1);
ibib.setImageId(ib.getData().getId()); ibib.setImageId(Integer.parseInt(imageId));
Log.e("-res-", new Gson().toJson(ibib)); Log.e("-res-", new Gson().toJson(ibib));
qr.insBankCard(ibib); qr.insBankCard(ibib);
} }
@@ -172,12 +254,26 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
public void onClick(View view) { public void onClick(View view) {
switch (view.getId()) { switch (view.getId()) {
case R.id.submit: case R.id.submit:
if (isAuth) {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
finish();
return;
}
if (ib != null) { if (ib != null) {
submit(); submit();
} else { } else {
Toast.makeText(con, "请先上传图片", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "请先上传图片", Toast.LENGTH_SHORT).show();
} }
break; break;
case R.id.skip:
new MessageUtils().showSimCenPop(con, "确定跳过银行卡?,可能会导致运费无法结算!", "取消", "确认", () -> {
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 1);
startActivity(in);
});
break;
} }
} }
} }
@@ -15,6 +15,8 @@ import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.event.WalletEvent;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts; import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
@@ -32,6 +34,8 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment; import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView; import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@@ -123,6 +127,7 @@ public class WalletFragment extends BaseFragment{
@Override @Override
public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) { public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
root=inflater.inflate(R.layout.fragmengt_qianbao,container,false); root=inflater.inflate(R.layout.fragmengt_qianbao,container,false);
EventBus.getDefault().register(this);
dataName2="bcb"; dataName2="bcb";
con=root.getContext(); con=root.getContext();
rv=root.findViewById(R.id.rv); rv=root.findViewById(R.id.rv);
@@ -317,5 +322,14 @@ public class WalletFragment extends BaseFragment{
// .show(); // .show();
// } // }
@Subscribe
public void processResult(WalletEvent event) {
Log.e("-msg-", event.getMessage());
refreshLayout.autoRefresh();
}
@Override
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
} }
@@ -203,7 +203,8 @@ public class WebActivity extends BaseActivity {
@JavascriptInterface @JavascriptInterface
public String getUserToken(){ public String getUserToken(){
Log.e("-token-",UserParts.getUser(con).getData().getToken()); // Log.e("-token-",UserParts.getUser(con).getData().getToken());
// return "woshitoken-androidfasdf";
return UserParts.getUser(con).getData().getToken(); return UserParts.getUser(con).getData().getToken();
} }
@@ -211,7 +212,11 @@ public class WebActivity extends BaseActivity {
public void isSuccess(){ public void isSuccess(){
finish(); finish();
} }
@JavascriptInterface
public void isPdfSuccess(){
Toast.makeText(con, "签署成功", Toast.LENGTH_SHORT).show();
finish();
}
} }
@@ -27,7 +27,8 @@ class MessageUtils {
XPopup.Builder(ctx) // XPopup.Builder(ctx) //
.hasNavigationBar(false) .hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{ .asCustom(MessagePop(ctx, message).setOnMyItemClickListener(object :
MessagePop.OnMyItemClickListener {
override fun onItemClick(startTime: String, endTime: String) { override fun onItemClick(startTime: String, endTime: String) {
} }
})) }))
@@ -38,14 +39,20 @@ class MessageUtils {
XPopup.Builder(ctx) // XPopup.Builder(ctx) //
.hasNavigationBar(false) .hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message,message2).setOnMyItemClickListener(object : MessagePop.OnMyItemClickListener{ .asCustom(MessagePop(ctx, message, message2).setOnMyItemClickListener(object :
MessagePop.OnMyItemClickListener {
override fun onItemClick(startTime: String, endTime: String) { override fun onItemClick(startTime: String, endTime: String) {
} }
})) }))
.show() .show()
} }
fun showSimCenPop(ctx: Context, message: String,onMyItemClickListener: SimCenterPop.OnMyItemClickListener){ fun showSimCenPop(
ctx: Context,
message: String,
titleRight:String = "去注册",
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) // // XPopup.Builder(ctx) //
// .hasNavigationBar(false) // .hasNavigationBar(false)
@@ -62,7 +69,36 @@ class MessageUtils {
XPopup.Builder(ctx) // XPopup.Builder(ctx) //
.hasNavigationBar(false) .hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个 .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(onMyItemClickListener)) .asCustom(SimCenterPop(ctx, message, titleRight = titleRight).setOnMyItemClickListener(onMyItemClickListener))
.show()
}
fun showSimCenPop(
ctx: Context,
message: String,
left: String,
right: String,
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) //
// .hasNavigationBar(false)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
// .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(object : SimCenterPop.OnMyItemClickListener{
// override fun onItemClick() {
// val intent = Intent(ctx, CertificatesActivity::class.java)
// intent.putExtra("index", type)
// ctx.startActivity(intent)
// }
// }))
// .show()
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.dismissOnTouchOutside(false)
.asCustom(SimCenterPop(ctx, message,left,right).setOnMyItemClickListener(onMyItemClickListener))
.show() .show()
} }
@@ -0,0 +1,76 @@
package com.arpa.hndahesudintocctmsdriver.util;
import android.content.Context;
import android.text.TextUtils;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import java.text.SimpleDateFormat;
import java.util.Locale;
/**
* @ClassName OneDayShowUtils
* @Author john
* @Date 2024/9/11 15:33
* @Description TODO
*/
public class OneDayShowUtils {
private static class SingletonHolder {
private static final OneDayShowUtils INSTANCE = new OneDayShowUtils();
}
private OneDayShowUtils() {
}
public static final OneDayShowUtils getInstance() {
return OneDayShowUtils.SingletonHolder.INSTANCE;
}
/**
*
* @param ctx
* @return true:当天已弹出 false:当天未弹出
*/
public boolean todayIsShow(Context ctx) {
String preday = (String) SPUtils.get(ctx, "PREDAY", "");
if (TextUtils.isEmpty(preday)) {
String nowString = TimeUtil.getNowString("yyyy-MM-dd");
SPUtils.put(ctx, "PREDAY", nowString);
return false;
} else {
boolean today = TimeUtil.isToday(preday, new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()));
if (!today) {
String nowString = TimeUtil.getNowString("yyyy-MM-dd");
SPUtils.put(ctx, "PREDAY", nowString);
}
return today;
}
}
/**
*
* @param ctx
* @return true:当天已弹出 false:当天未弹出
*/
public boolean todayIsShowQx(Context ctx) {
String preday = (String) SPUtils.get(ctx, "permission", "");
if (TextUtils.isEmpty(preday)) {
String nowString = TimeUtil.getNowString("yyyy-MM-dd");
SPUtils.put(ctx, "permission", nowString);
return false;
} else {
boolean today = TimeUtil.isToday(preday, new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()));
if (!today) {
String nowString = TimeUtil.getNowString("yyyy-MM-dd");
SPUtils.put(ctx, "permission", nowString);
}
return today;
}
}
}
@@ -0,0 +1,137 @@
package com.arpa.hndahesudintocctmsdriver.util
import android.app.Activity
import android.content.Context
import androidx.annotation.NonNull
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.FragmentActivity
import com.arpa.hndahesudintocctmsdriver.cuspop.MessagePop
import com.arpa.hndahesudintocctmsdriver.cuspop.MyRequestCallback
import com.arpa.hndahesudintocctmsdriver.cuspop.TopMsgPopup
import com.arpa.hndahesudintocctmsdriver.cuspop.SimCenterPop
import com.lxj.xpopup.XPopup
import com.lxj.xpopup.core.BasePopupView
import com.permissionx.guolindev.PermissionX
import com.permissionx.guolindev.callback.RequestCallback
/**
* @ClassName MessageUtils
* @Author 用户
* @Date 2023/8/15 09:51
* @Description TODO
*/
class PermissionUtils {
companion object {
fun getInstance() = InstanceHelper.sSingle
}
object InstanceHelper {
val sSingle = PermissionUtils()
}
/**
* 显示权限申请
* @param activity AppCompatActivity
* @param message String
* @param permission List<String>
* @param callback RequestCallback
* @return BasePopupView?
*/
fun showPermissionMessage(activity: FragmentActivity,title:String, message: String,vararg permission:String,callback: MyRequestCallback){
val show = XPopup.Builder(activity)
.hasShadowBg(false)
.hasBlurBg(false)
.isTouchThrough(true)
.isCenterHorizontal(true)
.offsetY(140)
.asCustom(
TopMsgPopup(
activity,
title,
message
)
)
.show()
PermissionX.init(activity)
.permissions(listOf(*permission))
.request { allGranted, grantedList, deniedList ->
show.dismiss()
if (callback!=null){
callback.onResult(allGranted,grantedList,deniedList)
}
}
}
fun showCenMessage(ctx: Context, message: String, message2: String) {
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(MessagePop(ctx, message, message2).setOnMyItemClickListener(object :
MessagePop.OnMyItemClickListener {
override fun onItemClick(startTime: String, endTime: String) {
}
}))
.show()
}
fun showSimCenPop(
ctx: Context,
message: String,
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) //
// .hasNavigationBar(false)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
// .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(object : SimCenterPop.OnMyItemClickListener{
// override fun onItemClick() {
// val intent = Intent(ctx, CertificatesActivity::class.java)
// intent.putExtra("index", type)
// ctx.startActivity(intent)
// }
// }))
// .show()
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(SimCenterPop(ctx, message).setOnMyItemClickListener(onMyItemClickListener))
.show()
}
fun showSimCenPop(
ctx: Context,
message: String,
left: String,
right: String,
onMyItemClickListener: SimCenterPop.OnMyItemClickListener
) {
// XPopup.Builder(ctx) //
// .hasNavigationBar(false)
// .isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
// .asCustom(SimCenterPop(ctx,message).setOnMyItemClickListener(object : SimCenterPop.OnMyItemClickListener{
// override fun onItemClick() {
// val intent = Intent(ctx, CertificatesActivity::class.java)
// intent.putExtra("index", type)
// ctx.startActivity(intent)
// }
// }))
// .show()
XPopup.Builder(ctx) //
.hasNavigationBar(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗对象,推荐设置这个
.asCustom(
SimCenterPop(ctx, message, left, right).setOnMyItemClickListener(
onMyItemClickListener
)
)
.show()
}
}
@@ -1,6 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.util.img; package com.arpa.hndahesudintocctmsdriver.util.img;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
@@ -13,6 +18,7 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.permissionx.guolindev.PermissionX; import com.permissionx.guolindev.PermissionX;
@@ -56,12 +62,17 @@ public class GetCarImageAlert {
} }
btn_xiangce.setOnClickListener(v -> { btn_xiangce.setOnClickListener(v -> {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE) .permissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1); PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(act, "缺少媒体和文件权限,将无法选择照片,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
act.startActivity(intent);
});
} }
}); });
}); });
@@ -74,7 +85,12 @@ public class GetCarImageAlert {
// file=ImageGetUtil.createImageFile(act); // file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file); // ImageGetUtil.cameraAlbumGetImage(act,file);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(act, "缺少相机权限,将无法进行拍照或选择照片,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
act.startActivity(intent);
});
} }
}); });
}); });
@@ -86,7 +102,12 @@ public class GetCarImageAlert {
if (allGranted) { if (allGranted) {
openCam(act); openCam(act);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(act, "缺少相机权限,将无法进行拍照或选择照片,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
act.startActivity(intent);
});
} }
}); });
} }
@@ -1,6 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.util.img; package com.arpa.hndahesudintocctmsdriver.util.img;
import static com.sdk.base.framework.utils.app.AppUtils.getPackageName;
import android.Manifest; import android.Manifest;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
@@ -10,6 +15,7 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil; import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.permissionx.guolindev.PermissionX; import com.permissionx.guolindev.PermissionX;
@@ -45,25 +51,37 @@ public class GetImageAlert {
btn_xiangce.setOnClickListener(v -> { btn_xiangce.setOnClickListener(v -> {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE) .permissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1); PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(act, "缺少相机,媒体权限,将无法为您提供服务,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
act.startActivity(intent);
});
// Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
}); });
btn_paizhao.setOnClickListener(v -> { btn_paizhao.setOnClickListener(v -> {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.CAMERA) .permissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
if (allGranted) { if (allGranted) {
file = ImageGetUtil.createImageFile(act); file = ImageGetUtil.createImageFile(act);
ImageGetUtil.cameraAlbumGetImage(act, file); ImageGetUtil.cameraAlbumGetImage(act, file);
} else { } else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); new MessageUtils().showSimCenPop(act, "缺少相机,媒体权限,将无法为您提供服务,去开启!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
act.startActivity(intent);
});
// Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
}); });
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="@dimen/dp_10"/>
<solid android:color="#fff"/>
</shape>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_eye_open" android:state_checked="true"></item>
<item android:drawable="@drawable/icon_eye_close" android:state_checked="false"></item>
<item android:drawable="@drawable/icon_eye_close"></item>
</selector>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/red" />
<corners
android:radius="@dimen/dp_14" />
</shape>
+131 -73
View File
@@ -5,34 +5,50 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bg_theme" android:background="@drawable/bg_theme"
android:id="@+id/activity_bank_auth"> android:id="@+id/activity_bank_auth">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_58"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_58">
<ImageView <ImageView
android:id="@+id/return_btn" android:id="@+id/return_btn"
android:layout_marginLeft="@dimen/dp_20"
android:layout_width="@dimen/dp_40" android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_31" android:layout_height="@dimen/dp_31"
android:src="@mipmap/return_lefts" android:layout_marginLeft="@dimen/dp_20"
android:padding="@dimen/dp_10" android:padding="@dimen/dp_10"
android:scaleType="fitXY"/> android:scaleType="fitXY"
<TextView android:src="@mipmap/return_lefts" />
android:layout_marginTop="@dimen/dp_10"
android:id="@+id/submit" <!-- <TextView-->
android:layout_marginRight="@dimen/dp_30" <!-- android:id="@+id/skip"-->
android:layout_alignParentRight="true" <!-- android:layout_width="wrap_content"-->
android:layout_width="wrap_content" <!-- android:layout_height="wrap_content"-->
android:layout_height="wrap_content" <!-- android:layout_marginTop="@dimen/dp_10"-->
android:text="提交" <!-- android:layout_marginRight="@dimen/dp_30"-->
android:textColor="@color/theme_color" <!-- android:layout_toLeftOf="@+id/submit"-->
android:textSize="@dimen/sp_15" <!-- android:text="跳过"-->
/> <!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15"-->
<!-- android:visibility="gone" />-->
<!-- <TextView-->
<!-- android:id="@+id/submit"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_alignParentRight="true"-->
<!-- android:layout_marginTop="@dimen/dp_10"-->
<!-- android:layout_marginRight="@dimen/dp_30"-->
<!-- android:text="提交"-->
<!-- android:textColor="@color/theme_color"-->
<!-- android:textSize="@dimen/sp_15" />-->
</RelativeLayout> </RelativeLayout>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -41,47 +57,52 @@
android:text="银行卡信息" android:text="银行卡信息"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_23" /> android:textSize="@dimen/sp_23" />
<TextView <TextView
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/red" android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:text="*注意: 请添加本人银行卡, 否则无法提现成功" android:text="*注意: 请添加本人银行卡, 否则无法提现成功"
></TextView> android:textColor="@color/red"></TextView>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_marginTop="@dimen/dp_20"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_163" android:layout_height="@dimen/dp_163"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_20"
android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_10"> app:cardCornerRadius="@dimen/dp_10">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<ImageView <ImageView
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/up_bank_img" android:id="@+id/up_bank_img"
android:src="@mipmap/bank_img"
android:layout_width="@dimen/dp_249" android:layout_width="@dimen/dp_249"
android:layout_height="@dimen/dp_138" android:layout_height="@dimen/dp_138"
android:scaleType="fitXY"/> android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:scaleType="fitXY"
android:src="@mipmap/bank_img" />
<TextView <TextView
android:layout_marginBottom="@dimen/dp_21"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="点击上传银行卡正面照" android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"/> android:layout_marginBottom="@dimen/dp_21"
android:text="点击上传银行卡正面照" />
</RelativeLayout> </RelativeLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_15"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:id="@+id/zj_name2" android:id="@+id/zj_name2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -92,85 +113,122 @@
android:textColor="#ffc4c4ce" android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_13" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38" android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_38" android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_14"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/bg_bai" android:background="@drawable/bg_bai"
android:elevation="@dimen/dp_1"> android:elevation="@dimen/dp_1"
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView android:orientation="vertical"
android:id="@+id/brv" android:padding="@dimen/dp_14">
android:layout_width="match_parent"
android:layout_height="wrap_content"/> <!-- <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView-->
<!-- android:id="@+id/brv"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<LinearLayout <LinearLayout
android:layout_marginBottom="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10" android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10" android:paddingBottom="@dimen/dp_10"
android:text="银行名称"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_name" android:id="@+id/bank_name"
android:layout_alignParentRight="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff000000" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:ellipsize="end"
android:inputType="text"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:background="@null" android:background="@null"
/> android:ellipsize="end"
android:inputType="text"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/> android:background="@drawable/bottom_xu" />
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<EditText
android:paddingTop="@dimen/dp_10" android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10" android:paddingBottom="@dimen/dp_10"
android:text="银行卡号"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13" />
<EditText
android:id="@+id/bank_number" android:id="@+id/bank_number"
android:layout_alignParentRight="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff000000" android:layout_alignParentRight="true"
android:textSize="@dimen/sp_13"
android:inputType="number"
android:maxLines="1"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_30" android:layout_marginLeft="@dimen/dp_30"
android:background="@null" android:background="@null"
android:ellipsize="end"
android:inputType="number"
android:maxLines="1"
android:paddingTop="@dimen/dp_10"
android:paddingBottom="@dimen/dp_10"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
/> />
</LinearLayout>
</LinearLayout> <Button
android:id="@+id/skip"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:background="@drawable/bg_btn_grey"
android:text="跳过"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
<Button
android:id="@+id/submit"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_42"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_22"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_50"
android:background="@drawable/bg_btn_green"
android:text="下一步"
android:textColor="#fff"
android:textSize="@dimen/sp_15" />
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
@@ -47,6 +47,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:hint="请输入手机号码" android:hint="请输入手机号码"
android:inputType="phone"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
android:maxLength="11" android:maxLength="11"
@@ -65,6 +66,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<EditText <EditText
android:inputType="number"
android:id="@+id/input_code" android:id="@+id/input_code"
android:paddingTop="@dimen/dp_12" android:paddingTop="@dimen/dp_12"
android:paddingBottom="@dimen/dp_12" android:paddingBottom="@dimen/dp_12"
@@ -4,12 +4,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- <com.amap.api.maps.MapView--> <com.amap.api.maps.MapView
<!-- android:id="@+id/map"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="match_parent"/>-->
<com.lk.mapsdk.map.mapapi.map.MapView
android:id="@+id/map" android:id="@+id/map"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
+124 -68
View File
@@ -1,47 +1,54 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/huoyuan_xq"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" android:background="#fff"
android:orientation="vertical" android:orientation="vertical">
android:id="@+id/huoyuan_xq"
android:background="#fff">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/theme_color" android:background="@color/theme_color"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/dp_20"> android:paddingBottom="@dimen/dp_20">
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_68"> android:layout_marginTop="@dimen/dp_68">
<ImageButton <ImageButton
android:layout_marginLeft="@dimen/dp_38"
android:id="@+id/return_btn" android:id="@+id/return_btn"
android:layout_width="@dimen/dp_21" android:layout_width="@dimen/dp_21"
android:layout_height="@dimen/dp_18" android:layout_height="@dimen/dp_18"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null" android:background="@null"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/return_btn" /> android:src="@mipmap/return_btn" />
<ImageButton <ImageButton
android:layout_marginRight="@dimen/dp_38"
android:layout_width="@dimen/dp_18" android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_18" android:layout_height="@dimen/dp_18"
android:src="@mipmap/share2"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:scaleType="fitXY" android:layout_marginRight="@dimen/dp_38"
android:background="@null" android:background="@null"
android:visibility="gone"/> android:scaleType="fitXY"
android:src="@mipmap/share2"
android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:layout_marginTop="@dimen/dp_8"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@@ -49,73 +56,102 @@
android:text="货源详情" android:text="货源详情"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_23" /> android:textSize="@dimen/sp_23" />
<TextView <TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:id="@+id/huozhu" android:id="@+id/huozhu"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="联系货主" android:text="联系货主"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="拒绝" android:text="拒绝"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_15" android:textSize="@dimen/sp_15"
android:visibility="gone"/> android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_38"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView <TextView
android:id="@+id/totalFreight" android:id="@+id/totalFreight"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:text="0000" android:text="****"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" /> android:textSize="@dimen/sp_40" />
<CheckBox
android:id="@+id/cb"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_3"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_eye"
android:gravity="center">
</CheckBox>
</LinearLayout>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="净赚运费(元)" android:text="净赚运费(元)"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"
/>
<View <View
android:layout_marginTop="@dimen/dp_16"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/> android:layout_marginTop="@dimen/dp_16"
android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:layout_weight="1">
<TextView <TextView
android:layout_marginLeft="@dimen/dp_5"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="预估里程(km)" android:text="预估里程(km)"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_centerVertical="true"
/>
<TextView <TextView
android:id="@+id/distance" android:id="@+id/distance"
@@ -128,10 +164,12 @@
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#EFEFEF"/> android:background="#EFEFEF" />
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -158,14 +196,17 @@
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/> android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -191,10 +232,12 @@
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
<View <View
android:layout_width="@dimen/dp_1" android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="#EFEFEF"/> android:background="#EFEFEF" />
<RelativeLayout <RelativeLayout
android:layout_width="@dimen/dp_0" android:layout_width="@dimen/dp_0"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -224,59 +267,67 @@
android:textSize="@dimen/sp_12" /> android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/> android:background="#EFEFEF" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_28" android:layout_height="@dimen/dp_28"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:" android:text="运输要求:"
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_gravity="center"/>
<TextView <TextView
android:layout_marginLeft="@dimen/dp_7"
android:id="@+id/requirement" android:id="@+id/requirement"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_5" android:layout_marginRight="@dimen/dp_5"
android:text="" android:text=""
android:textColor="#ffffffff" android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_12" />
android:layout_gravity="center"/>
</LinearLayout> </LinearLayout>
<View <View
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_1" android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/> android:background="#EFEFEF" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:background="@drawable/bg_bai"
android:background="@drawable/bg_bai"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:orientation="horizontal"> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="货源单号:" android:text="货源单号:"
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
<TextView <TextView
android:id="@+id/orderNum" android:id="@+id/orderNum"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -285,42 +336,48 @@
android:textColor="#333333" android:textColor="#333333"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:cardCornerRadius="@dimen/dp_14" android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
app:cardBackgroundColor="#fff" app:cardBackgroundColor="#fff"
app:cardCornerRadius="@dimen/dp_14"
app:cardElevation="@dimen/dp_0"> app:cardElevation="@dimen/dp_0">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv1" android:id="@+id/zhuang_rv1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView <com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv2" android:id="@+id/zhuang_rv2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17"> android:layout_marginTop="@dimen/dp_17">
<TextView <TextView
android:id="@+id/car" android:id="@+id/car"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_39" android:layout_marginLeft="@dimen/dp_39"
android:text="选择车辆" android:text="选择车辆"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_centerVertical="true"/>
<ImageButton <ImageButton
android:id="@+id/xuanze" android:id="@+id/xuanze"
@@ -328,8 +385,8 @@
android:layout_height="@dimen/dp_29" android:layout_height="@dimen/dp_29"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38" android:layout_marginRight="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/add1" /> android:src="@mipmap/add1" />
</RelativeLayout> </RelativeLayout>
@@ -346,39 +403,37 @@
android:layout_height="@dimen/dp_25" android:layout_height="@dimen/dp_25"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38" android:layout_marginLeft="@dimen/dp_38"
android:padding="@dimen/dp_5"
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/no_xuan" /> android:src="@mipmap/no_xuan" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7" android:layout_marginLeft="@dimen/dp_7"
android:text="同意并签署" android:text="同意并签署"
android:textColor="#000000" android:textColor="#000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
<TextView <TextView
android:id="@+id/check_contract" android:id="@+id/check_contract"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="《运输合同》" android:text="《运输合同》"
android:textColor="@color/theme_color_news" android:textColor="@color/theme_color_news"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7" android:layout_marginTop="@dimen/dp_7">
>
<ImageButton <ImageButton
android:visibility="invisible"
android:id="@+id/btnFp" android:id="@+id/btnFp"
android:layout_width="@dimen/dp_25" android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25" android:layout_height="@dimen/dp_25"
@@ -387,38 +442,39 @@
android:background="@null" android:background="@null"
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/no_xuan" /> android:src="@mipmap/no_xuan"
android:visibility="invisible" />
<TextView <TextView
android:layout_toRightOf="@+id/btnFp"
android:id="@+id/tvZzs" android:id="@+id/tvZzs"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7" android:layout_marginLeft="@dimen/dp_7"
android:layout_toRightOf="@+id/btnFp"
android:text="同意在符合相关税务机关要求的情况下代开增值税发票" android:text="同意在符合相关税务机关要求的情况下代开增值税发票"
android:textColor="#000000" android:textColor="#000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
android:layout_gravity="center"/>
<TextView <TextView
android:visibility="gone"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="增值税发票" android:text="增值税发票"
android:textColor="@color/red" android:textColor="@color/red"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13"
android:layout_gravity="center"/> android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<Button <Button
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:id="@+id/confirm_btn" android:id="@+id/confirm_btn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_38" android:layout_height="@dimen/dp_38"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_12" android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_60" android:layout_marginBottom="@dimen/dp_60"
android:background="@drawable/bg_btn" android:background="@drawable/bg_btn"
android:text="确认接单" android:text="确认接单"
+108
View File
@@ -168,6 +168,114 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_12" /> android:layout_marginBottom="@dimen/dp_12" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:visibility="gone"
android:id="@+id/llCurWay"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_140"
android:layout_marginLeft="@dimen/dp_5"
android:layout_marginRight="@dimen/dp_5"
android:background="@drawable/bg_huoyuan">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_25"
android:layout_marginLeft="@dimen/dp_25"
android:layout_marginRight="@dimen/dp_25"
android:layout_marginBottom="@dimen/dp_22">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="运输中订单:"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
<TextView
android:id="@+id/tvWaybill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:text="1321561432123156"
android:textColor="#ff333333"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/ivType"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_gravity="center"
android:scaleType="fitXY"
android:background="@mipmap/zhuang" />
<TextView
android:id="@+id/loadingAddress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:ellipsize="end"
android:maxLines="1"
android:text="郑州市市委党校郑州市市委党校郑州市市委党校郑州市市委党校"
android:textColor="#ff333333"
android:textSize="@dimen/sp_15" />
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/tvGo"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_28"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:background="@drawable/shape_red_bg14"
android:paddingLeft="@dimen/dp_14"
android:paddingRight="@dimen/dp_14"
android:text="去装货"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<!-- <LinearLayout <!-- <LinearLayout
android:layout_marginTop="@dimen/dp_4" android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent" android:layout_width="match_parent"
+3 -2
View File
@@ -99,7 +99,7 @@
<TextView <TextView
android:id="@+id/loadingAddress" android:id="@+id/loadingAddress"
android:layout_width="@dimen/dp_120" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
@@ -125,7 +125,7 @@
<TextView <TextView
android:id="@+id/receiverAddress" android:id="@+id/receiverAddress"
android:layout_width="@dimen/dp_120" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5" android:layout_marginLeft="@dimen/dp_5"
@@ -140,6 +140,7 @@
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -123,6 +123,7 @@
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10" android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_width="wrap_content" android:layout_width="wrap_content"
@@ -52,6 +52,7 @@
/> />
</LinearLayout> </LinearLayout>
<LinearLayout <LinearLayout
android:id="@+id/llMoney"
android:layout_marginTop="@dimen/dp_5" android:layout_marginTop="@dimen/dp_5"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:background="@drawable/bg_round2"
android:layout_marginLeft="@dimen/dp_16"
android:layout_marginRight="@dimen/dp_16"
android:padding="20dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tvTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="提示"
android:textColor="@color/black"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
/>
<TextView
android:id="@+id/tvMessage"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:text=""
android:layout_marginTop="@dimen/dp_4"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
@@ -1,14 +0,0 @@
package com.arpa.hndahesudintocctmsdriver
import org.junit.Test
/**
* Example local unit test, which will execute on the development machine (host).
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
class ExampleUnitTest {
@Test
fun addition_isCorrect() {
}
}
-2
View File
@@ -12,7 +12,6 @@ buildscript {
maven { maven {
url 'https://maven.aliyun.com/repository/releases' url 'https://maven.aliyun.com/repository/releases'
} }
maven { url 'http://lbs-sdk.luokuang.com/repository/maven-releases/' }
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:4.2.2' classpath 'com.android.tools.build:gradle:4.2.2'
@@ -32,7 +31,6 @@ allprojects {
maven { maven {
url 'https://maven.aliyun.com/repository/releases' url 'https://maven.aliyun.com/repository/releases'
} }
maven { url 'http://lbs-sdk.luokuang.com/repository/maven-releases/' }
} }
} }
+2
View File
@@ -79,6 +79,8 @@ dependencies {
api rootProject.ext.dependencies["Search"] api rootProject.ext.dependencies["Search"]
api 'com.gyf.cactus:cactus:1.1.3-beta13' api 'com.gyf.cactus:cactus:1.1.3-beta13'
api 'com.github.gcacace:signature-pad:1.3.1'
//友盟基础库(必须) //友盟基础库(必须)
// api 'com.umeng.umsdk:common:9.4.4' // api 'com.umeng.umsdk:common:9.4.4'
// api 'com.umeng.umsdk:asms:1.4.1' // api 'com.umeng.umsdk:asms:1.4.1'
@@ -1,5 +1,6 @@
package com.dahe.mylibrary.utils; package com.dahe.mylibrary.utils;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class PatternUtils { public class PatternUtils {
@@ -25,4 +26,13 @@ public class PatternUtils {
public static boolean isLetter(String password){ public static boolean isLetter(String password){
return Pattern.matches(REGEX_WORD, password); return Pattern.matches(REGEX_WORD, password);
} }
public static String getNumByStr(String str){
Pattern compile = Pattern.compile("\\d+");
Matcher matcher = compile.matcher(str);
while (matcher.find()) {
return matcher.group();
}
return "";
}
} }