Compare commits

..
18 Commits
Author SHA1 Message Date
lijia 9620f13b42 日常 2024-03-11 15:15:34 +08:00
lijia ea649da8dd 拍照bug修复2 2024-01-19 17:52:43 +08:00
lijia edf3f494da 拍照bug修复添加弹框 2024-01-17 10:39:01 +08:00
lijia 2bdf0d45dc 补传添加时间地点非空判断 2023-10-26 09:21:13 +08:00
lijia 725860544a 取消运营版本更新代码 2023-10-23 09:25:19 +08:00
lijia befc5419a2 多渠道高德key动态切换运营 2023-10-16 14:43:26 +08:00
lijia f0778a34e3 Merge branch 'master' into manyflavors 2023-10-16 14:38:57 +08:00
lijia d3915a92a0 多渠道高德key动态切换 2023-10-16 14:34:17 +08:00
lijia fbe1492800 多渠道定位修复 2023-10-16 09:52:13 +08:00
lijia b5fb6bec07 多渠道bug修复 2023-10-16 09:22:08 +08:00
lijia 80c67f9c79 多渠道运营图标名称以及优化 2023-10-12 16:57:08 +08:00
lijia 932a33f3d1 多渠道运营开发测试 2023-10-12 16:48:18 +08:00
lijia 35c37fdf51 升级优化 2023-10-12 15:36:18 +08:00
lijia c3a3a5cfe6 测试,正式包分别打包 2023-10-11 09:45:39 +08:00
lijia a7aee4af57 好运测试图标自动切换 2023-10-10 17:28:45 +08:00
lijia 1c3d20ac43 loading框bug修复,补传卸货优化 2023-10-09 16:52:42 +08:00
lijia f37ffa779a 补传类优化 2023-10-07 11:24:51 +08:00
lijia 7d60c08e61 挂车bug修复 2023-10-07 09:26:21 +08:00
24 changed files with 2305 additions and 537 deletions
+55 -44
View File
@@ -37,15 +37,16 @@ android {
applicationId "com.arpa.hndahesudintocctmsdriver" applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 30 targetSdkVersion 30
versionCode 59 versionCode 60
versionName "3.2.9" versionName "3.3.0"
flavorDimensions "CHANNEL_VALUE" flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions { javaCompileOptions {
annotationProcessorOptions { annotationProcessorOptions {
includeCompileClasspath = true includeCompileClasspath = true
arguments = [moduleName :project.getName() ] arguments = [moduleName: project.getName()]
} }
} }
@@ -56,27 +57,7 @@ android {
// 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a' // 还可以添加 'x86', 'x86_64', 'mips', 'mips64' , 'arm64-v8a'
} }
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
MEIZU_APPKEY : "MZ-魅族的APPKEY",
MEIZU_APPID : "MZ-魅族的APPID",
XIAOMI_APPID : "MI-小米的APPID",
XIAOMI_APPKEY : "MI-小米的APPKEY",
OPPO_APPKEY : "OP-oppo的APPKEY",
OPPO_APPID : "OP-oppo的APPID",
OPPO_APPSECRET : "OP-oppo的APPSECRET",
VIVO_APPKEY : "vivo的APPKEY",
VIVO_APPID : "vivo的APPID"
]
} }
// sourceSets {
// main {
// jniLibs.srcDirs = ['libs']
// }
// }
sourceSets { sourceSets {
main { main {
@@ -107,7 +88,7 @@ android {
} }
} }
repositories{ repositories {
flatDir { flatDir {
dirs 'libs' dirs 'libs'
} }
@@ -115,7 +96,14 @@ android {
productFlavors { productFlavors {
qa { qa {
manifestPlaceholders = [CHANNEL_VALUE: "好运司机测试"] applicationId "com.arpa.hndahesudintocctmsdriver.text"
manifestPlaceholders = [CHANNEL_VALUE: "司机测试",
app_icon : "@drawable/diver_logo_text",
GAODEKEY : "6791d69f6221a0841b521763af86eb01",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
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", "\"http://app.test.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true" buildConfigField "boolean", "isTest", "true"
@@ -123,7 +111,14 @@ android {
resValue "string", "appName", "司机测试" resValue "string", "appName", "司机测试"
} }
product { product {
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机"] applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "78019612271411eca3af34db91930620",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"") buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"") buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false" buildConfigField "boolean", "isTest", "false"
@@ -131,23 +126,39 @@ android {
resValue "string", "appName", "大河好运司机" resValue "string", "appName", "大河好运司机"
} }
productbc {
applicationId "com.arpa.hndahesudintocctmsdriver.bc"
manifestPlaceholders = [CHANNEL_VALUE: "司机运营",
app_icon : "@drawable/diver_logo_yunying",
GAODEKEY : "f960bc6d14788238918bd014fa08a870",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机运营"
}
} }
productFlavors.all { flavor -> // productFlavors.all { flavor ->
flavor.manifestPlaceholders = [CHANNEL_VALUE: name] // flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
} // }
android.applicationVariants.all { variant -> android.applicationVariants.all { variant ->
variant.outputs.all { variant.outputs.all {
def date = new Date().format("MMdd_HH-mm" , TimeZone.getTimeZone("GMT+08")) def date = new Date().format("MMdd_HH-mm", TimeZone.getTimeZone("GMT+08"))
def isText = variant.productFlavors[0].properties.get("buildConfigFields").getAt("isTest").properties.get("value") def isText = variant.productFlavors[0].properties.get("buildConfigFields").getAt("isTest").properties.get("value")
def appName = null def appName = null
if (isText=="true") { if (isText == "true") {
appName = '大河好运司机测试_' appName = '大河好运司机测试_'
}else{ } else {
appName = '大河好运司机_' appName = '大河好运司机_'
} }
outputFileName =appName+"${variant.buildType.name}_${defaultConfig.versionName}_${date}.apk" outputFileName = appName + "${variant.buildType.name}_${defaultConfig.versionName}_${date}.apk"
} }
} }
lintOptions { lintOptions {
@@ -171,10 +182,10 @@ dependencies {
//角标 //角标
implementation 'com.haozhang.libary:android-slanted-textview:1.2' implementation 'com.haozhang.libary:android-slanted-textview:1.2'
//刷新头部,底部样式 //刷新头部,底部样式
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.1' implementation 'com.scwang.smart:refresh-layout-kernel:2.0.1'
implementation 'com.scwang.smart:refresh-header-material:2.0.1' implementation 'com.scwang.smart:refresh-header-material:2.0.1'
implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载 implementation 'com.scwang.smart:refresh-footer-ball:2.0.1' //球脉冲加载
implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载 implementation 'com.scwang.smart:refresh-footer-classics:2.0.1' //经典加载
//更新版本 //更新版本
implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0' implementation 'com.github.jenly1314.AppUpdater:app-updater:1.2.0'
implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0' implementation 'com.github.jenly1314.AppUpdater:app-dialog:1.2.0'
@@ -189,7 +200,7 @@ dependencies {
implementation 'com.alibaba:fastjson:1.2.61' implementation 'com.alibaba:fastjson:1.2.61'
implementation 'org.bouncycastle:bcprov-jdk15on:1.55' implementation 'org.bouncycastle:bcprov-jdk15on:1.55'
implementation 'org.apache.commons:commons-lang3:3.5' implementation 'org.apache.commons:commons-lang3:3.5'
implementation (name:'locationgd-androidx_2.1.0', ext:'aar')//交通厅 implementation(name: 'locationgd-androidx_2.1.0', ext: 'aar')//交通厅
//安联 //安联
// implementation 'com.google.code.gson:gson:2.8.6' // implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.loopj.android:android-async-http:1.4.9' implementation 'com.loopj.android:android-async-http:1.4.9'
@@ -204,10 +215,10 @@ dependencies {
//友盟 //友盟
// 下面各SDK根据宿主App是否使用相关业务按需引入。 // 下面各SDK根据宿主App是否使用相关业务按需引入。
// 友盟统计SDK // 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.4.2'// 必选 implementation 'com.umeng.umsdk:common:9.4.2'// 必选
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选 implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
implementation 'com.umeng.umsdk:apm:1.4.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选 implementation 'com.umeng.umsdk:apm:1.4.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选
implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选 implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选
//动态权限获取 //动态权限获取
implementation "org.permissionsdispatcher:permissionsdispatcher:4.6.0" implementation "org.permissionsdispatcher:permissionsdispatcher:4.6.0"
kapt "org.permissionsdispatcher:permissionsdispatcher-processor:4.6.0" kapt "org.permissionsdispatcher:permissionsdispatcher-processor:4.6.0"
@@ -216,8 +227,8 @@ dependencies {
//EventBus //EventBus
implementation 'org.greenrobot:eventbus:3.1.1' implementation 'org.greenrobot:eventbus:3.1.1'
//易签宝 //易签宝
implementation(name:'EsignSDK', ext:'aar') implementation(name: 'EsignSDK', ext: 'aar')
implementation'pub.devrel:easypermissions:1.3.0' implementation 'pub.devrel:easypermissions:1.3.0'
implementation "com.squareup.retrofit2:retrofit:2.4.0" implementation "com.squareup.retrofit2:retrofit:2.4.0"
// implementation "com.squareup.retrofit2:converter-gson:2.4.0" // implementation "com.squareup.retrofit2:converter-gson:2.4.0"
+8 -9
View File
@@ -44,7 +44,7 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.EACCES" /> <uses-permission android:name="android.permission.EACCES" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-feature <uses-feature
android:name="android.hardware.nfc" android:name="android.hardware.nfc"
android:required="true" /> android:required="true" />
@@ -53,7 +53,7 @@
android:name="com.arpa.hndahesudintocctmsdriver.App" android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true" android:allowBackup="true"
android:excludeFromRecents="true" android:excludeFromRecents="true"
android:icon="@drawable/diver_logo" android:icon="${app_icon}"
android:label="@string/appName" android:label="@string/appName"
android:largeHeap="true" android:largeHeap="true"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
@@ -97,8 +97,9 @@
<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.ShangChuangImgActivityBC"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
@@ -109,10 +110,8 @@
<data android:mimeType="*/*" /> <data android:mimeType="*/*" />
</intent-filter> </intent-filter>
</activity> </activity> <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
@@ -262,7 +261,7 @@
<!--高德地图--> <!--高德地图-->
<meta-data <meta-data
android:name="com.amap.api.v2.apikey" android:name="com.amap.api.v2.apikey"
android:value="78019612271411eca3af34db91930620" /> 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>
@@ -397,7 +396,7 @@
</receiver> </receiver>
<provider <provider
android:name="androidx.core.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.arpa.hndahesudintocctmsdriver.fileprovider" android:authorities="${applicationId}.fileprovider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"
tools:ignore="WrongManifestParent"> tools:ignore="WrongManifestParent">
@@ -9,41 +9,28 @@ import android.content.IntentFilter;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Environment;
import android.util.Log; import android.util.Log;
import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess; import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.net.Api; import com.arpa.hndahesudintocctmsdriver.request.net.Api;
import com.arpa.hndahesudintocctmsdriver.ui.MainActivity; import com.arpa.hndahesudintocctmsdriver.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.util.BillLocationUtils; import com.arpa.hndahesudintocctmsdriver.util.BillLocationUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.dahe.mylibrary.CommonBaseLibrary; import com.dahe.mylibrary.CommonBaseLibrary;
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.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; 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.permissionx.guolindev.PermissionX;
import com.tencent.bugly.crashreport.CrashReport; import com.tencent.bugly.crashreport.CrashReport;
import com.umeng.commonsdk.UMConfigure; import com.umeng.commonsdk.UMConfigure;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Timer;
import java.util.TimerTask;
import cn.jiguang.verifysdk.api.JVerificationInterface; import cn.jiguang.verifysdk.api.JVerificationInterface;
public class App extends Application implements CactusCallback { public class App extends Application {
// String key = "f9d35b1133cff1f6e3960c89b249e03f"; // String key = "f9d35b1133cff1f6e3960c89b249e03f";
String key = "19ac0aa74338e487e45057faf7212401"; String key = "19ac0aa74338e487e45057faf7212401";
String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ=="; String license = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ==";
@@ -54,7 +41,6 @@ public class App extends Application implements CactusCallback {
public static int APP_STATUS = APP_STATUS_KILLED; // 记录App的启动状态 public static int APP_STATUS = APP_STATUS_KILLED; // 记录App的启动状态
private Context con; private Context con;
public static App mApplication = null; public static App mApplication = null;
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
@@ -92,34 +78,29 @@ public class App extends Application implements CactusCallback {
} }
} }
PendingIntent pendingIntent = // PendingIntent pendingIntent =
PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT); // PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), PendingIntent.FLAG_UPDATE_CURRENT);
Cactus.getInstance() // Cactus.getInstance()
.isDebug(true) // .isDebug(true)
.setTitle("好运司机") // //可选,设置通知栏点击事件
.setContent("您的接单助手!") // .setPendingIntent(pendingIntent)
.setChannelId("gld") //// .setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐
.setChannelName("好运司机") //// .setMusicId(R.raw.main) //可选,设置音乐
.setServiceId(Integer.MAX_VALUE) //// .setPendingIntent(pendingIntent)//可选,设置通知栏点击事件
//可选,设置通知栏点击事件 //// .addCallback(new CactusCallback())//可选,运行时回调
.setPendingIntent(pendingIntent) // .setCrashRestartUIEnabled(true) //可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启
.setBackgroundMusicEnabled(true)//可选,退到后台是否可以播放音乐 // .setCrashRestartUIEnabled(true)//可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启
.setMusicId(R.raw.main) //可选,设置音乐 // .setTitle("大河好运")
// .setPendingIntent(pendingIntent)//可选,设置通知栏点击事件 // .setSmallIcon(R.drawable.diver_logo)
// .addCallback(new CactusCallback())//可选,运行时回调 // .addBackgroundCallback(new CactusBackgroundCallback() {
.setCrashRestartUIEnabled(true) //可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 // @Override
.setCrashRestartUIEnabled(true)//可选,设置奔溃可以重启,google原生rom android 10以下可以正常重启 // public void onBackground(boolean b) {
.setSmallIcon(R.drawable.diver_logo) // if (b){
.addCallback(this) // getBillLocation();
.addBackgroundCallback(new CactusBackgroundCallback() { // }
@Override // }
public void onBackground(boolean b) { // })
if (b) { // .register(this);
getBillLocation();
}
}
})
.register(this);
} }
public static App getApp() { public static App getApp() {
@@ -168,62 +149,4 @@ public class App extends Application implements CactusCallback {
return false; return false;
} }
@Override
public void doWork(int i) {
new Timer().schedule(new TimerTask() {
@Override
public void run() {
FileOutputStream fos = null;
try {
String nowString = TimeUtil.getNowString(TimeUtil.DEFAULT_FORMAT);
String content = i + "当前时间:"+nowString;
String fileName = "location" + ".txt";
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
//获取文件输出路径
String path = Environment.getExternalStorageDirectory()
+ "/crashinfo2/";
//创建文件夹和文件
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
// File file = new File(path + fileName);
// if (!file.exists())
// file.createNewFile();
//创建输出流
fos = new FileOutputStream(path + fileName,true);
File file = new File(path + fileName);
if (file.exists()){
fos.write('\r');
}
//向文件中写出数据
fos.write(content.toString().getBytes());
}
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}, 100, 1000);
}
@Override
public void onStop() {
}
} }
@@ -1,5 +1,6 @@
package com.arpa.hndahesudintocctmsdriver.request; package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
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;
@@ -8,7 +9,6 @@ import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYuanFragmengt;
import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity; import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil; import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -89,6 +89,11 @@ public class HuoYuanRequset{
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd); RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
} }
//卸货-补传
public void dischargeCargo4(LUInputBean lub){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUNLOADING4(), gson.toJson(lub)),getToken(con),con);
RequestUtil.start(1, ShangChuangImgActivity.TYPE_NAME[1],re,con,hd);
}
//回单 //回单
public void receipt(UploadReceiptInputBean urib){ public void receipt(UploadReceiptInputBean urib){
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con); Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getUploadReceipt(), gson.toJson(urib)),getToken(con),con);
@@ -4,197 +4,199 @@ import com.arpa.hndahesudintocctmsdriver.BuildConfig;
public class RequestConstant { public class RequestConstant {
public static String TOKEN="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzA0MDE3OTIsInVzZXJJZCI6ODAsImlhdCI6MTYyNzcyMzM5Mn0.f9Q-UZVduW6nt1s0L-3vYsrOJJ8iuSCSlJ9uu8yIxBI"; public static String TOKEN = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzA0MDE3OTIsInVzZXJJZCI6ODAsImlhdCI6MTYyNzcyMzM5Mn0.f9Q-UZVduW6nt1s0L-3vYsrOJJ8iuSCSlJ9uu8yIxBI";
//域名地址http://request.one-clouds.com/api https://huoyun.mzxd56.com/api http://app.dahehuoyun.com/api //域名地址http://request.one-clouds.com/api https://huoyun.mzxd56.com/api http://app.dahehuoyun.com/api
public static String BASE_URL = BuildConfig.BASE_URL; public static String BASE_URL = BuildConfig.BASE_URL;
//版本更新/app/check/version //版本更新/app/check/version
public static String VERSION ="/app/check/version"; public static String VERSION = "/app/check/version";
//全部代码 //全部代码
public static String CODE_DATA ="/common/dic/listdata"; public static String CODE_DATA = "/common/dic/listdata";
//短信验证码 //短信验证码
private static final String SEND_CODE = "/common/sendcode"; private static final String SEND_CODE = "/common/sendcode";
//登录 //登录
private static final String REG="/common/register"; private static final String REG = "/common/register";
//注册 //注册
private static final String LOGIN="/common/register"; private static final String LOGIN = "/common/register";
//上传文件 //上传文件
private static final String UPLOAD="/common/resource/upload"; private static final String UPLOAD = "/common/resource/upload";
//配置项信息 //配置项信息
private static final String CONFIG="/common/config/list"; private static final String CONFIG = "/common/config/list";
//获取开屏页图片和轮播图 //获取开屏页图片和轮播图
private static final String GET_IMAGE="/common/resource/image/config"; private static final String GET_IMAGE = "/common/resource/image/config";
//司机认证信息 //司机认证信息
private static final String DRIVER_AUTH_INFO="/app/driver/auth/authInfo"; private static final String DRIVER_AUTH_INFO = "/app/driver/auth/authInfo";
//货源大厅 //货源大厅
private static final String GOODS_HALL="/app/driver/order/getHallList"; private static final String GOODS_HALL = "/app/driver/order/getHallList";
//历史成交货源 //历史成交货源
private static final String GET_EXAMPLE_LIST="/app/driver/order/getExampleList"; private static final String GET_EXAMPLE_LIST = "/app/driver/order/getExampleList";
//货源详情 //货源详情
private static final String GOODS_DEL="/app/driver/order/findOrderInfoV2"; private static final String GOODS_DEL = "/app/driver/order/findOrderInfoV2";
//账户信息 //账户信息
private static final String USER="/app/user/getUserInfo"; private static final String USER = "/app/user/getUserInfo";
//银行卡列表 //银行卡列表
private static final String BANK_CARD_LIST="/app/bankCard/findPage"; private static final String BANK_CARD_LIST = "/app/bankCard/findPage";
//绑定银行卡 //绑定银行卡
private static final String INS_BANKCARD="/app/bankCard/bandCard"; private static final String INS_BANKCARD = "/app/bankCard/bandCard";
// private static final String INS_BANKCARD="/app/bankCard/save"; // private static final String INS_BANKCARD="/app/bankCard/save";
//删除银行卡 //删除银行卡
// private static final String DELETE_BANKCARD="/app/bankCard/deleteCard"; // private static final String DELETE_BANKCARD="/app/bankCard/deleteCard";
private static final String DELETE_BANKCARD="/app/bankCard/unBandCard"; private static final String DELETE_BANKCARD = "/app/bankCard/unBandCard";
//生成电子账户 //生成电子账户
private static final String ADD_CONTRACTS="/app/bank/addContracts"; private static final String ADD_CONTRACTS = "/app/bank/addContracts";
//获取电子账户 //获取电子账户
private static final String GET_CONTRACTS="/app/bank/getContracts"; private static final String GET_CONTRACTS = "/app/bank/getContracts";
//获取账户未读消息 //获取账户未读消息
private static final String XIAOXI_LIST="/app/message/findCurrentUserNotReadCount"; private static final String XIAOXI_LIST = "/app/message/findCurrentUserNotReadCount";
//获取账户消息 //获取账户消息
private static final String XIAOXI_ALL="/app/message/findPage"; private static final String XIAOXI_ALL = "/app/message/findPage";
//已读消息 //已读消息
private static final String XIAOXI_DEL="/app/message/setReadById"; private static final String XIAOXI_DEL = "/app/message/setReadById";
//已读全部消息 //已读全部消息
private static final String XIAOXI_DEL_ALL="/app/message/setReadAll"; private static final String XIAOXI_DEL_ALL = "/app/message/setReadAll";
//运单列表 //运单列表
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/grabDriverOrdersContruct";
//获取正在执行的运单/运单详情 //获取正在执行的运单/运单详情
private static final String GET_START_ORDER="/app/driver/waybill/getExecuteWaybill"; private static final String GET_START_ORDER = "/app/driver/waybill/getExecuteWaybill";
//查看承运合同 //查看承运合同
private static final String GET_CARRY_CONTRACT="/common/appContract/findCarrierContract"; private static final String GET_CARRY_CONTRACT = "/common/appContract/findCarrierContract";
//评价信息保存 //评价信息保存
private static final String EVALUATIONV2="/app/driver/waybill/evaluationV2"; private static final String EVALUATIONV2 = "/app/driver/waybill/evaluationV2";
//装货 //装货
private static final String LOADING="/app/driver/waybill/loadingV2"; private static final String LOADING = "/app/driver/waybill/loadingV2";
//卸货 //卸货
private static final String UNLOADING="/app/driver/waybill/unloadV2"; private static final String UNLOADING = "/app/driver/waybill/unloadV2";
//卸货-补传
private static final String UNLOADING4 = "/app/driver/waybill/unloadV4";
//上传回单 //上传回单
private static final String UPLOAD_RECEIPT="/app/driver/waybill/uploadReceipt"; private static final String UPLOAD_RECEIPT = "/app/driver/waybill/uploadReceipt";
//轨迹跟踪 //轨迹跟踪
private static final String TRACK_TRACKING="/app/driver/waybill/addAppLocation"; private static final String TRACK_TRACKING = "/app/driver/waybill/addAppLocation";
//获取评价信息 //获取评价信息
private static final String GET_EVALUATE="/app/driver/waybill/listAppraises"; private static final String GET_EVALUATE = "/app/driver/waybill/listAppraises";
//获取投诉信息 //获取投诉信息
private static final String GET_COMPLAINT="/app/driver/waybill/listComplaint"; private static final String GET_COMPLAINT = "/app/driver/waybill/listComplaint";
//保存投诉信息 //保存投诉信息
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_CAR_LIST="/app/carDriver/getCarList"; private static final String GET_CAR_LIST = "/app/carDriver/getCarList";
//车辆详情 //车辆详情
private static final String GET_CAR_DEL="/app/carDriver/getCarInfo"; private static final String GET_CAR_DEL = "/app/carDriver/getCarInfo";
//删除车辆 //删除车辆
private static final String DEL_CAR="/app/carDriver/removeCar"; private static final String DEL_CAR = "/app/carDriver/removeCar";
//上传车辆照片 //上传车辆照片
private static final String SAVECARIMG="/app/carDriver/saveCarImg"; private static final String SAVECARIMG = "/app/carDriver/saveCarImg";
//上传头像保存 //上传头像保存
private static final String UPLOAD_HEAD="/app/user/uploadHeadportrait"; private static final String UPLOAD_HEAD = "/app/user/uploadHeadportrait";
//获取上传失败的订单 //获取上传失败的订单
private static final String GET_ERROR_ORDER="/app/driver/waybill/getAsymmetryWaybill"; private static final String GET_ERROR_ORDER = "/app/driver/waybill/getAsymmetryWaybill";
//提现 //提现
private static final String TIXIAN="/app/account/cashApply/bank/charge"; private static final String TIXIAN = "/app/account/cashApply/bank/charge";
//--ORC识别-- //--ORC识别--
//银行卡识别 //银行卡识别
private static final String ORC_BANK="/common/ocr/bank"; private static final String ORC_BANK = "/common/ocr/bank";
//身份证正面 //身份证正面
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_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_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_BACK="/common/ocr/v2/vehicleBackLicenseV3"; private static final String VEHICLE_LICENSE_BACK = "/common/ocr/v2/vehicleBackLicenseV3";
//身份证认证信息 //身份证认证信息
private static final String ISAUTH_IDCARD="/app/driver/auth/isAuthIdCard"; private static final String ISAUTH_IDCARD = "/app/driver/auth/isAuthIdCard";
//驾驶证认证信息 //驾驶证认证信息
private static final String ISAUTH_DRIVERAUTH_LICENSE="/app/driver/auth/isAuthDriverAuthLicense"; private static final String ISAUTH_DRIVERAUTH_LICENSE = "/app/driver/auth/isAuthDriverAuthLicense";
//资格证认证信息 //资格证认证信息
private static final String IS_AUTH_DRIVER_AUTH_QUALIFICATION="/app/driver/auth/isAuthDriverAuthQualification"; private static final String IS_AUTH_DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/isAuthDriverAuthQualification";
//行驶证认证信息 //行驶证认证信息
//身份证认证 //身份证认证
private static final String DRIVERAUTHIDCARD="/app/driver/auth/driverAuthIdCard"; private static final String DRIVERAUTHIDCARD = "/app/driver/auth/driverAuthIdCard";
//驾驶证认证 //驾驶证认证
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 DRIVER_AUTH_QUALIFICATION="/app/driver/auth/driverAuthQualification"; private static final String DRIVER_AUTH_QUALIFICATION = "/app/driver/auth/driverAuthQualification";
//车辆等级证书 //车辆等级证书
private static final String DRIVER_AUTH_SAVECARREGISTERNO="/app/carDriver/saveCarRegisterNo"; private static final String DRIVER_AUTH_SAVECARREGISTERNO = "/app/carDriver/saveCarRegisterNo";
//道路运输信息 //道路运输信息
private static final String DRIVER_AUTH_SAVECARROADLICENSENO="/app/carDriver/saveCarRoadLicenseNo"; private static final String DRIVER_AUTH_SAVECARROADLICENSENO = "/app/carDriver/saveCarRoadLicenseNo";
//党员认证 //党员认证
private static final String PARTY_MEMBER="/app/user/partyMember"; private static final String PARTY_MEMBER = "/app/user/partyMember";
//实名认证 //实名认证
private static final String AUTH_URL="/app/driver/auth/getAuthUrl"; private static final String AUTH_URL = "/app/driver/auth/getAuthUrl";
//车牌号 //车牌号
private static final String PLATE_LICENSE="/common/ocr/plateLicense"; private static final String PLATE_LICENSE = "/common/ocr/plateLicense";
//车牌号2 //车牌号2
private static final String PLATE_LICENSE2="/common/aliyun/ocr/RecognizeCarNumber"; private static final String PLATE_LICENSE2 = "/common/aliyun/ocr/RecognizeCarNumber";
//添加挂车 //添加挂车
private static final String SAVE_DRAW_CAR="/app/carDriver/saveDrawCar"; private static final String SAVE_DRAW_CAR = "/app/carDriver/saveDrawCar";
//提现记录 //提现记录
private static final String CHANGE_RECORD="/app/account/change/record"; private static final String CHANGE_RECORD = "/app/account/change/record";
//提现手续费 //提现手续费
private static final String WITHDRAWALS_CHARGE="/app/account/withdrawals/charge"; private static final String WITHDRAWALS_CHARGE = "/app/account/withdrawals/charge";
//提现配置信息 //提现配置信息
private static final String WITHDRAWALS_CONFIG="/app/account/withdrawals/config"; private static final String WITHDRAWALS_CONFIG = "/app/account/withdrawals/config";
//获取车辆颜色 //获取车辆颜色
private static final String CAR_COLOR="/app/common/carColorTypeList"; private static final String CAR_COLOR = "/app/common/carColorTypeList";
//获取车辆颜色 //获取车辆颜色
private static final String CAR_ENERGYTYPE="/app/common/carEnergyTypeList"; private static final String CAR_ENERGYTYPE = "/app/common/carEnergyTypeList";
//车辆自动审核触发器 //车辆自动审核触发器
private static final String CAR_AUDIT="/app/carDriver/carAutomaticAudit"; private static final String CAR_AUDIT = "/app/carDriver/carAutomaticAudit";
public static String getCarAudit(){ public static String getCarAudit() {
return BASE_URL +CAR_AUDIT; return BASE_URL + CAR_AUDIT;
} }
public static String getCarColor(){ public static String getCarColor() {
return BASE_URL +CAR_COLOR; return BASE_URL + CAR_COLOR;
} }
public static String getCarEnergyType(){ public static String getCarEnergyType() {
return BASE_URL + CAR_ENERGYTYPE; return BASE_URL + CAR_ENERGYTYPE;
} }
//app/driver/auth/driverExpire //app/driver/auth/driverExpire
public static final String GET_CERTIFICATE_EXPIRED="/app/driver/auth/driverExpire"; public static final String GET_CERTIFICATE_EXPIRED = "/app/driver/auth/driverExpire";
public static String getSendCodeUrl() { public static String getSendCodeUrl() {
return BASE_URL +SEND_CODE; return BASE_URL + SEND_CODE;
} }
public static String getREGUrl() { public static String getREGUrl() {
return BASE_URL +REG; return BASE_URL + REG;
} }
public static String getLoginUrl() { public static String getLoginUrl() {
return BASE_URL +LOGIN; return BASE_URL + LOGIN;
} }
public static String getDriverAuthInfoUrl() { public static String getDriverAuthInfoUrl() {
return BASE_URL +DRIVER_AUTH_INFO; return BASE_URL + DRIVER_AUTH_INFO;
} }
public static String getGoodsHallUrl() { public static String getGoodsHallUrl() {
return BASE_URL +GOODS_HALL; return BASE_URL + GOODS_HALL;
} }
public static String getGoodsDelUrl() { public static String getGoodsDelUrl() {
return BASE_URL +GOODS_DEL; return BASE_URL + GOODS_DEL;
} }
public static String getUserUrl() { public static String getUserUrl() {
@@ -209,201 +211,239 @@ public class RequestConstant {
return BASE_URL + BANK_CARD_LIST; return BASE_URL + BANK_CARD_LIST;
} }
public static String getXiaoXiListUrl() { return BASE_URL + XIAOXI_LIST; } public static String getXiaoXiListUrl() {
return BASE_URL + XIAOXI_LIST;
}
public static String getXiaoxiAll() { return BASE_URL +XIAOXI_ALL; } public static String getXiaoxiAll() {
return BASE_URL + XIAOXI_ALL;
}
public static String getOrderList() { public static String getOrderList() {
return BASE_URL +ORDER_LIST; return BASE_URL + ORDER_LIST;
} }
public static String getAgreeOrder() { public static String getAgreeOrder() {
return BASE_URL +AGREE_ORDER; return BASE_URL + AGREE_ORDER;
} }
public static String getGetStartOrder() { public static String getGetStartOrder() {
return BASE_URL +GET_START_ORDER; return BASE_URL + GET_START_ORDER;
} }
public static String getGetCarryContract() { public static String getGetCarryContract() {
return BASE_URL +GET_CARRY_CONTRACT; return BASE_URL + GET_CARRY_CONTRACT;
} }
public static String getEVALUATIONV2() { public static String getEVALUATIONV2() {
return BASE_URL +EVALUATIONV2; return BASE_URL + EVALUATIONV2;
} }
public static String getLOADING() { public static String getLOADING() {
return BASE_URL +LOADING; return BASE_URL + LOADING;
} }
public static String getUNLOADING() { public static String getUNLOADING() {
return BASE_URL +UNLOADING; return BASE_URL + UNLOADING;
}
public static String getUNLOADING4() {
return BASE_URL + UNLOADING4;
} }
public static String getGetEvaluate() { public static String getGetEvaluate() {
return BASE_URL +GET_EVALUATE; return BASE_URL + GET_EVALUATE;
} }
public static String getGetComplaint() { public static String getGetComplaint() {
return BASE_URL +GET_COMPLAINT; return BASE_URL + GET_COMPLAINT;
} }
public static String getOrcBank() { public static String getOrcBank() {
return BASE_URL +ORC_BANK; return BASE_URL + ORC_BANK;
} }
public static String getIdCardFront() { public static String getIdCardFront() {
return BASE_URL +ID_CARD_FRONT; return BASE_URL + ID_CARD_FRONT;
} }
public static String getIdCardBack() { public static String getIdCardBack() {
return BASE_URL +ID_CARD_BACK; return BASE_URL + ID_CARD_BACK;
} }
public static String getDrivingLicense() { public static String getDrivingLicense() {
return BASE_URL +DRIVING_LICENSE; return BASE_URL + DRIVING_LICENSE;
} }
public static String getDrivingLicenseBack() { public static String getDrivingLicenseBack() {
return BASE_URL +DRIVING_LICENSE_BACK; return BASE_URL + DRIVING_LICENSE_BACK;
} }
public static String getVehicleLicense() { public static String getVehicleLicense() {
return BASE_URL +VEHICLE_LICENSE; return BASE_URL + VEHICLE_LICENSE;
} }
public static String getVehicleLicenseBack() { public static String getVehicleLicenseBack() {
return BASE_URL +VEHICLE_LICENSE_BACK; return BASE_URL + VEHICLE_LICENSE_BACK;
} }
public static String getGetCarList() { public static String getGetCarList() {
return BASE_URL +GET_CAR_LIST; return BASE_URL + GET_CAR_LIST;
} }
public static String getGetCarDel() { public static String getGetCarDel() {
return BASE_URL +GET_CAR_DEL; return BASE_URL + GET_CAR_DEL;
} }
public static String getCodeData() { public static String getCodeData() {
return BASE_URL +CODE_DATA; return BASE_URL + CODE_DATA;
} }
public static String getIsauthIdcard() { public static String getIsauthIdcard() {
return BASE_URL +ISAUTH_IDCARD; return BASE_URL + ISAUTH_IDCARD;
} }
public static String getIsauthDriverauthLicense() { return BASE_URL +ISAUTH_DRIVERAUTH_LICENSE; } public static String getIsauthDriverauthLicense() {
return BASE_URL + ISAUTH_DRIVERAUTH_LICENSE;
}
public static String getUploadReceipt() { return BASE_URL +UPLOAD_RECEIPT; } public static String getUploadReceipt() {
return BASE_URL + UPLOAD_RECEIPT;
}
public static String getUPLOAD() { return BASE_URL +UPLOAD; } public static String getUPLOAD() {
return BASE_URL + UPLOAD;
}
public static String getTrackTracking() {return BASE_URL +TRACK_TRACKING; } public static String getTrackTracking() {
return BASE_URL + TRACK_TRACKING;
}
public static String getEvaluationV2() { return BASE_URL +EVALUATION_V2; } public static String getEvaluationV2() {
return BASE_URL + EVALUATION_V2;
}
public static String getDRIVERAUTHIDCARD() { public static String getDRIVERAUTHIDCARD() {
return BASE_URL +DRIVERAUTHIDCARD; return BASE_URL + DRIVERAUTHIDCARD;
} }
public static String getDRIVERAUTHLICENSE() { public static String getDRIVERAUTHLICENSE() {
return BASE_URL +DRIVERAUTHLICENSE; return BASE_URL + DRIVERAUTHLICENSE;
} }
public static String getSAVEVEHICLELICENSE() { public static String getSAVEVEHICLELICENSE() {
return BASE_URL +SAVEVEHICLELICENSE; return BASE_URL + SAVEVEHICLELICENSE;
} }
public static String getSAVECARIMG() { public static String getSAVECARIMG() {
return BASE_URL +SAVECARIMG; return BASE_URL + SAVECARIMG;
} }
public static String getUploadHead() { return BASE_URL +UPLOAD_HEAD; } public static String getUploadHead() {
return BASE_URL + UPLOAD_HEAD;
}
public static String getInsBankcard() { public static String getInsBankcard() {
return BASE_URL +INS_BANKCARD; return BASE_URL + INS_BANKCARD;
} }
public static String getDelCar() { return BASE_URL +DEL_CAR; } public static String getDelCar() {
return BASE_URL + DEL_CAR;
}
public static String getXiaoxiDel() { return BASE_URL +XIAOXI_DEL; } public static String getXiaoxiDel() {
return BASE_URL + XIAOXI_DEL;
}
public static String getCOMPLAINT() { return BASE_URL+COMPLAINT; } public static String getCOMPLAINT() {
return BASE_URL + COMPLAINT;
}
public static String getXiaoxiDelAll() { return BASE_URL+XIAOXI_DEL_ALL; } public static String getXiaoxiDelAll() {
return BASE_URL + XIAOXI_DEL_ALL;
}
public static String getDriverAuthQualification() { return BASE_URL+DRIVER_AUTH_QUALIFICATION; } public static String getDriverAuthQualification() {
return BASE_URL + DRIVER_AUTH_QUALIFICATION;
}
public static String getDriverSaveCarRegisterNo() { return BASE_URL+DRIVER_AUTH_SAVECARREGISTERNO; } public static String getDriverSaveCarRegisterNo() {
return BASE_URL + DRIVER_AUTH_SAVECARREGISTERNO;
}
public static String getDriverSaveCarRoadLicenseNo() { return BASE_URL+DRIVER_AUTH_SAVECARROADLICENSENO; } public static String getDriverSaveCarRoadLicenseNo() {
return BASE_URL + DRIVER_AUTH_SAVECARROADLICENSENO;
}
public static String getSaveDrawCar() { return BASE_URL+SAVE_DRAW_CAR; } public static String getSaveDrawCar() {
return BASE_URL + SAVE_DRAW_CAR;
}
public static String getIsAuthDriverAuthQualification() { public static String getIsAuthDriverAuthQualification() {
return BASE_URL+IS_AUTH_DRIVER_AUTH_QUALIFICATION; return BASE_URL + IS_AUTH_DRIVER_AUTH_QUALIFICATION;
} }
public static String getVERSION() { public static String getVERSION() {
return BASE_URL+VERSION; return BASE_URL + VERSION;
} }
public static String getAddContracts() { public static String getAddContracts() {
return BASE_URL+ADD_CONTRACTS; return BASE_URL + ADD_CONTRACTS;
} }
public static String getGetContracts() { public static String getGetContracts() {
return BASE_URL+GET_CONTRACTS; return BASE_URL + GET_CONTRACTS;
} }
public static String getTIXIAN() { public static String getTIXIAN() {
return BASE_URL+TIXIAN; return BASE_URL + TIXIAN;
} }
public static String getPartyMember() { public static String getPartyMember() {
return BASE_URL+PARTY_MEMBER; return BASE_URL + PARTY_MEMBER;
} }
public static String getCONFIG() { public static String getCONFIG() {
return BASE_URL+CONFIG; return BASE_URL + CONFIG;
} }
public static String getChangeRecord() { public static String getChangeRecord() {
return BASE_URL+CHANGE_RECORD; return BASE_URL + CHANGE_RECORD;
} }
public static String getChangeCharge() { public static String getChangeCharge() {
return BASE_URL+WITHDRAWALS_CHARGE; return BASE_URL + WITHDRAWALS_CHARGE;
} }
public static String getChangeConfig() { public static String getChangeConfig() {
return BASE_URL+WITHDRAWALS_CONFIG; return BASE_URL + WITHDRAWALS_CONFIG;
} }
public static String getGetErrorOrder() { return BASE_URL+GET_ERROR_ORDER; } public static String getGetErrorOrder() {
return BASE_URL + GET_ERROR_ORDER;
}
public static String getGetExampleList() { public static String getGetExampleList() {
return BASE_URL+GET_EXAMPLE_LIST; return BASE_URL + GET_EXAMPLE_LIST;
} }
public static String getAuthUrl() { public static String getAuthUrl() {
return BASE_URL+AUTH_URL; return BASE_URL + AUTH_URL;
} }
public static String getPlateLicense() { public static String getPlateLicense() {
return BASE_URL+PLATE_LICENSE; return BASE_URL + PLATE_LICENSE;
} }
public static String getPlateLicense2() { public static String getPlateLicense2() {
return BASE_URL+PLATE_LICENSE2; return BASE_URL + PLATE_LICENSE2;
} }
public static String getGetImage() { public static String getGetImage() {
return BASE_URL+GET_IMAGE; return BASE_URL + GET_IMAGE;
} }
public static String getGetCertificateExpired() { public static String getGetCertificateExpired() {
return BASE_URL+GET_CERTIFICATE_EXPIRED; return BASE_URL + GET_CERTIFICATE_EXPIRED;
} }
} }
@@ -137,18 +137,18 @@ public class UserRequset {
//app更新 //app更新
public void upApp() { public void upApp() {
String vs = "1.0.0"; // String vs = "1.0.0";
try { // try {
// isOpenAppNoRe(); //// isOpenAppNoRe();
vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName; // vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) { // } catch (PackageManager.NameNotFoundException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
Map<String, Object> map = new HashMap<>(); // Map<String, Object> map = new HashMap<>();
map.put("source", 0); // map.put("source", 0);
map.put("version", vs); // map.put("version", vs);
Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con); // Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con);
RequestUtil.start(1, "up_app", re, con, hd); // RequestUtil.start(1, "up_app", re, con, hd);
} }
/** /**
@@ -15,6 +15,15 @@ public class LUInputBean {
private String locationAddress; private String locationAddress;
private String longitude; private String longitude;
private String waybillId; private String waybillId;
private String realLoadTime;
public String getRealLoadTime() {
return realLoadTime;
}
public void setRealLoadTime(String realLoadTime) {
this.realLoadTime = realLoadTime;
}
public List<Integer> getImageId() { public List<Integer> getImageId() {
return imageId; return imageId;
@@ -1,6 +1,9 @@
package com.arpa.hndahesudintocctmsdriver.ui.alert; package com.arpa.hndahesudintocctmsdriver.ui.alert;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.provider.Settings;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
@@ -30,11 +33,11 @@ import java.io.File;
*/ */
public class UpAppAlert extends CenterPopupView { public class UpAppAlert extends CenterPopupView {
private TextView content,vs,tvContent; private TextView content, vs, tvContent;
private Button tv_cancel,tv_confirm,tvOk; private Button tv_cancel, tv_confirm, tvOk;
private LinearLayout up_div; private LinearLayout up_div;
private String url=""; private String url = "";
private String body=""; private String body = "";
private Context con; private Context con;
private ProgressBar progress_view; private ProgressBar progress_view;
private String version; private String version;
@@ -42,19 +45,20 @@ public class UpAppAlert extends CenterPopupView {
private LinearLayout force_box; private LinearLayout force_box;
private ImageButton force_btn; private ImageButton force_btn;
public UpAppAlert(@NonNull @NotNull Context context, String url, String body,String version,String force) { public UpAppAlert(@NonNull @NotNull Context context, String url, String body, String version, String force) {
super(context); super(context);
con=context; con = context;
this.url=url; this.url = url;
this.body=body; this.body = body;
this.version=version; this.version = version;
this.force=force; this.force = force;
} }
@Override @Override
protected int getImplLayoutId() { protected int getImplLayoutId() {
return R.layout.alert_up_app; return R.layout.alert_up_app;
} }
public UpAppAlert(@NonNull @NotNull Context context) { public UpAppAlert(@NonNull @NotNull Context context) {
super(context); super(context);
@@ -63,17 +67,17 @@ public class UpAppAlert extends CenterPopupView {
@Override @Override
protected void onCreate() { protected void onCreate() {
super.onCreate(); super.onCreate();
content=findViewById(R.id.tv_content); content = findViewById(R.id.tv_content);
tv_cancel=findViewById(R.id.tv_cancel); tv_cancel = findViewById(R.id.tv_cancel);
tv_confirm=findViewById(R.id.tv_confirm); tv_confirm = findViewById(R.id.tv_confirm);
tvContent=findViewById(R.id.tvContent); tvContent = findViewById(R.id.tvContent);
tvOk=findViewById(R.id.tvOk); tvOk = findViewById(R.id.tvOk);
up_div=findViewById(R.id.up_div); up_div = findViewById(R.id.up_div);
progress_view=findViewById(R.id.progress); progress_view = findViewById(R.id.progress);
content=findViewById(R.id.tv_content); content = findViewById(R.id.tv_content);
force_box=findViewById(R.id.force_box); force_box = findViewById(R.id.force_box);
force_btn=findViewById(R.id.force_btn); force_btn = findViewById(R.id.force_btn);
if(force.equals("1")){ if (force.equals("1")) {
force_box.setVisibility(GONE); force_box.setVisibility(GONE);
} }
force_btn.setOnClickListener(v -> { force_btn.setOnClickListener(v -> {
@@ -81,16 +85,16 @@ public class UpAppAlert extends CenterPopupView {
dismiss(); dismiss();
//detachFromHost(); //detachFromHost();
}); });
vs=findViewById(R.id.vs); vs = findViewById(R.id.vs);
content.setText(body); content.setText(body);
vs.setText(version); vs.setText(version);
tv_cancel.setOnClickListener(v -> { tv_cancel.setOnClickListener(v -> {
System.exit(1); System.exit(1);
}); });
tv_confirm.setOnClickListener(v -> { tv_confirm.setOnClickListener(v -> {
new AppUpdater.Builder() new AppUpdater.Builder(con)
.setUrl(url) .setUrl(url)
.build(con) .build()
.setUpdateCallback(new AppUpdateCallback() { .setUpdateCallback(new AppUpdateCallback() {
@Override @Override
public void onStart(String url) { public void onStart(String url) {
@@ -98,17 +102,18 @@ public class UpAppAlert extends CenterPopupView {
tv_confirm.setVisibility(GONE); tv_confirm.setVisibility(GONE);
up_div.setVisibility(VISIBLE); up_div.setVisibility(VISIBLE);
} }
@Override @Override
public void onProgress(long progress, long total, boolean isChange) { public void onProgress(long progress, long total, boolean isChange) {
// Log.e("progress",progress+""); // Log.e("progress",progress+"");
// Log.e("total",total+""); // Log.e("total",total+"");
// Log.e("isChange",isChange+""); // Log.e("isChange",isChange+"");
float sum=progress; float sum = progress;
float max=total; float max = total;
if(progress>0){ if (progress > 0) {
float b=sum/max; float b = sum / max;
Log.e("百分比",(100*b)+""); Log.e("百分比", (100 * b) + "");
progress_view.setProgress((int) (100*b)); progress_view.setProgress((int) (100 * b));
} }
} }
@@ -117,7 +122,7 @@ public class UpAppAlert extends CenterPopupView {
tvContent.setText("下载完成,请及时安装!"); tvContent.setText("下载完成,请及时安装!");
tvOk.setVisibility(VISIBLE); tvOk.setVisibility(VISIBLE);
tvOk.setOnClickListener(v1 -> { tvOk.setOnClickListener(v1 -> {
AppUtils.installApk(getContext(),file,getContext().getPackageName() + Constants.DEFAULT_FILE_PROVIDER); AppUtils.installApk(getContext(), file, getContext().getPackageName() + Constants.DEFAULT_FILE_PROVIDER);
}); });
} }
}) })
@@ -660,7 +660,9 @@ public class CertificatesActivity extends BaseAppCompatActivity {
break; break;
case 3: case 3:
Log.e("挂车信息", gson.toJson(cdb)); Log.e("挂车信息", gson.toJson(cdb));
if (cdb != null && cdb.getData().getTrailerResVo() != null) { if (cdb != null && cdb.getData().getTrailerResVo() != null
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getFrontImage())
&& !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getBackImage())) {
url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), ""); url1 = StringUtil.isNull(cdb.getData().getTrailerResVo().getFrontImage(), "");
url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), ""); url2 = StringUtil.isNull(cdb.getData().getTrailerResVo().getBackImage(), "");
url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), ""); url3 = StringUtil.isNull(cdb.getData().getTrailerResVo().getThreeImage(), "");
@@ -158,13 +158,13 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class); IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class);
if (ib.getCode() == 200) { if (ib.getCode() == 200) {
//判断是否需要跳转挂车行驶证页面 //判断是否需要跳转挂车行驶证页面
if (!"".equals(carId) ){ if (!"".equals(carId)) {
if (cdb.getData().getIsTrailer() == 1&&!TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())){//需要挂车,并且传过挂车直接结束 if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,并且传过挂车直接结束
finish(); finish();
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);
}else if(cdb.getData().getIsTrailer() == 1&&TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())){//需要挂车,没传过挂车,到挂车页面 } else if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,没传过挂车,到挂车页面
finish(); finish();
Intent in = new Intent(con, CertificatesActivity.class); Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3); in.putExtra("index", 3);
@@ -173,14 +173,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
in.putExtra("cheData", new Gson().toJson(cdb)); in.putExtra("cheData", new Gson().toJson(cdb));
} }
startActivity(in); startActivity(in);
}else if(cdb.getData().getIsTrailer() == 0){//不需要挂车 } else if (cdb.getData().getIsTrailer() == 0) {//不需要挂车
if ("1".equals(cdb.getData().getNeedUpQCPhoto())){//需要从业资格证 if ("1".equals(cdb.getData().getNeedUpQCPhoto())) {//需要从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class); Intent in = new Intent(con, AuthQualificationActivity.class);
in.putExtra("type", "0"); in.putExtra("type", "0");
in.putExtra("carId", carId); in.putExtra("carId", carId);
in.putExtra("isOverCar", false); in.putExtra("isOverCar", false);
startActivity(in); startActivity(in);
}else{ } else {
finish(); finish();
Intent in = new Intent(con, AddCarSuccActivity.class); Intent in = new Intent(con, AddCarSuccActivity.class);
in.putExtra("type", 3); in.putExtra("type", 3);
@@ -315,7 +315,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
* 展示大图片 * 展示大图片
*/ */
private void showBigImg() { private void showBigImg() {
if (TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())){ if (TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
choicePhoto(); choicePhoto();
return; return;
} }
@@ -323,7 +323,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 0: case 0:
if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) { if (cdb.getData().getRoadLicensePhoto() != null && !cdb.getData().getCarImage().equals("")) {
new XPopup.Builder(con) new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getCarImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher)) .asImageViewer(img, cdb.getData().getCarImage(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show(); .show();
// new XPopup.Builder(con) // new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getCarImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader()) // .asImageViewer(img, cdb.getData().getCarImage(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
@@ -377,14 +377,14 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
switch (type) { switch (type) {
case 0: case 0:
if (!TextUtils.isEmpty(url)||(cdb!=null&&!TextUtils.isEmpty(cdb.getData().getCarImage()))){ if (!TextUtils.isEmpty(url) || (cdb != null && !TextUtils.isEmpty(cdb.getData().getCarImage()))) {
finish(); finish();
Intent in = new Intent(con, PhotoCarActivity.class); Intent in = new Intent(con, PhotoCarActivity.class);
// in.putExtra("type", 1); // in.putExtra("type", 1);
in.putExtra("type", 3); in.putExtra("type", 3);
in.putExtra("carId", carId); in.putExtra("carId", carId);
con.startActivity(in); con.startActivity(in);
} else{ } else {
Toast.makeText(this, "请上传车辆照片", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "请上传车辆照片", Toast.LENGTH_SHORT).show();
} }
break; break;
@@ -401,7 +401,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show();
return; return;
} }
new AuthRequest().saveCarRegisterNo(con,hd,carId,s); new AuthRequest().saveCarRegisterNo(con, hd, carId, s);
break; break;
case 3: case 3:
String s1 = value1.getText().toString(); String s1 = value1.getText().toString();
@@ -409,7 +409,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show(); Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show();
return; return;
} }
new AuthRequest().saveCarRoadLicenseNo(con,hd,carId,s1); new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1);
break; break;
} }
} }
@@ -7,7 +7,6 @@ import android.graphics.Outline;
import android.location.Location; import android.location.Location;
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.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@@ -23,6 +22,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.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager; import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener; import com.alct.mdp.callback.OnDownloadResultListener;
@@ -36,6 +36,7 @@ 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.App;
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;
@@ -85,7 +86,13 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer; import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
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 com.lxj.xpopup.util.XPermission;
import com.permissionx.guolindev.PermissionX; import com.permissionx.guolindev.PermissionX;
import com.permissionx.guolindev.callback.RequestCallback;
import com.permissionx.guolindev.dialog.RationaleDialog;
import com.permissionx.guolindev.request.ChainTask;
import com.permissionx.guolindev.request.ExplainScope;
import com.permissionx.guolindev.request.ForwardScope;
import com.youth.banner.Banner; import com.youth.banner.Banner;
import com.youth.banner.BannerConfig; import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer; import com.youth.banner.Transformer;
@@ -97,6 +104,9 @@ import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import pub.devrel.easypermissions.EasyPermissions;
import pub.devrel.easypermissions.helper.PermissionHelper;
/** /**
* @author hlh * @author hlh
* @version 1.0.0 * @version 1.0.0
@@ -146,10 +156,10 @@ 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);
}); });
} }
@@ -545,7 +555,6 @@ public class HomeFragment extends BaseFragment {
ur.getImage(1); ur.getImage(1);
if (UiAuxiliary.isLogin(con)) { if (UiAuxiliary.isLogin(con)) {
ur.User(); ur.User();
ur.getDriverExpire(); ur.getDriverExpire();
@@ -31,7 +31,6 @@ import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.MarkerOptions; import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.PolylineOptions; 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.BusRouteResult;
import com.amap.api.services.route.DrivePath; import com.amap.api.services.route.DrivePath;
@@ -40,7 +39,7 @@ import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult; 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.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
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;
@@ -55,7 +54,6 @@ import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary; import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity; import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil; import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil; import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -71,7 +69,6 @@ import com.arpa.hndahesudintocctmsdriver.util.view.ScoreView;
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.List; import java.util.List;
public class StartYunDanActivity extends BaseActivity { public class StartYunDanActivity extends BaseActivity {
@@ -7,8 +7,11 @@ import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
@@ -19,6 +22,17 @@ 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.amap.api.maps.CameraUpdateFactory;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeAddress;
import com.amap.api.services.geocoder.GeocodeQuery;
import com.amap.api.services.geocoder.GeocodeResult;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.geocoder.RegeocodeResult;
import com.amap.api.services.help.Inputtips;
import com.amap.api.services.help.InputtipsQuery;
import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean; import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean; import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
@@ -47,22 +61,35 @@ import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
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.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatePickedListener;
import com.github.gzuliyujiang.wheelpicker.contract.OnDatimePickedListener;
import com.github.gzuliyujiang.wheelpicker.entity.DateEntity;
import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity;
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;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader; import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File; import java.io.File;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
public class ShangChuangImgActivityBC extends BaseAppCompatActivity { public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements Inputtips.InputtipsListener {
private TextView submit, name_top, name_body, address, tips, tips_x; private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation;
private RelativeLayout getImg; private RelativeLayout getImg;
private EditText etAddress;
private Button btnOk;
private ImageView res_img, img_icon, img_delete; private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"}; private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"}; public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
@@ -86,7 +113,64 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
private boolean locationKey = false; private boolean locationKey = false;
private TextView tv_loaction; private TextView tv_loaction;
private TempLoca tempLoca = new TempLoca(36.11944878,120.10315118,"中国山东省青岛市黄岛区铁峰山路","2023-09-23 11:19");
private String selDate;
private GeocodeSearch geocoderSearch;
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
@Override
public void onGetInputtips(List<Tip> tipList, int rCode) {
if (rCode == AMapException.CODE_AMAP_SUCCESS) {
List<String> names = new ArrayList<String>();
if(tipList != null) {
int size = tipList.size();
for (int i = 0; i < size; i++) {
Tip tip = tipList.get(i);
if(tip != null) {
names.add(tip.getDistrict()+tip.getName());
}
}
new XPopup.Builder(this)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.hasShadowBg(false) // 去掉半透明背景
.atView(etAddress)
.asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() {
@Override
public void onSelect(int position, String text) {
Tip tip = tipList.get(position);
etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName());
LatLonPoint latLonPoint = tip.getPoint();
tempLoca.setAddress(etAddress.getText().toString());
tempLoca.setLatitude(latLonPoint.getLatitude());
tempLoca.setLongitude(latLonPoint.getLongitude());
tempLoca.setTime(tvDate.getText().toString());
LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
tempLocaBd.setLongitude(latLng.longitude);
tempLocaBd.setLatitude(latLng.latitude);
tempLocaBd.setAddress(etAddress.getText().toString());
tempLocaBd.setTime(tvDate.getText().toString());
}
})
.show();
// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout,
// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id});
//
// minputlist.setAdapter(aAdapter);
// aAdapter.notifyDataSetChanged();
}
} else {
}
}
class TempLoca{ class TempLoca{
private double latitude; private double latitude;
@@ -275,6 +359,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
img_icon = findViewById(R.id.img_icon); img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete); img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction); tv_loaction = findViewById(R.id.tv_loaction);
btnOk = findViewById(R.id.btnOk);
etAddress = findViewById(R.id.etAddress);
tvDate = findViewById(R.id.tvDate);
tvLocation = findViewById(R.id.tvLocation);
tips = findViewById(R.id.tips); tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x); tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras(); Bundle ins = getIntent().getExtras();
@@ -297,6 +385,44 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
lgdu.onCreate(); lgdu.onCreate();
} }
}); });
btnOk.setOnClickListener(v -> {
String s = etAddress.getText().toString();
if (TextUtils.isEmpty(selDate)){
ToastUtils.showToast(this,"请先选择时间");
return;
}
if (!TextUtils.isEmpty(s)&&s.length()>=4){
InputtipsQuery inputquery = new InputtipsQuery(s, "");
// inputquery.setCityLimit(true);
Inputtips inputTips = new Inputtips(this, inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
}else{
ToastUtils.showToast(this,"请输入地址且长度大于4");
}
});
tvDate.setOnClickListener(v -> {
DatimePicker datimePicker = new DatimePicker(this);
datimePicker.setBodyWidth(300);
datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now());
datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> {
selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.show();
});
hyr = new HuoYuanRequset(con, hd); hyr = new HuoYuanRequset(con, hd);
} }
@@ -387,13 +513,18 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
// for(int i=0;i<imgIds.size();i++){ // for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+""); // Log.e("--imgIds--",imgIds.get(i)+"");
// } // }
if(TextUtils.isEmpty(tempLoca.getTime())||TextUtils.isEmpty(tempLoca.getAddress())){
ToastUtils.showToast(this,"请选择时间以及地点");
return;
}
switch (index) { switch (index) {
case 0: case 0:
//装货 //装货
if (imgIds != null && imgIds.size() > 0) { if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(lgdu.getLatitude() + ""); lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + ""); lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress()); lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds); lub.setImageId(imgIds);
lub.setWaybillId(wid); lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub)); Log.e("--装货信息", gson.toJson(lub));
@@ -420,8 +551,9 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
lub.setLocationAddress(tempLoca.getAddress()); lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds); lub.setImageId(imgIds);
lub.setWaybillId(wid); lub.setWaybillId(wid);
lub.setRealLoadTime(tempLoca.getTime());
Log.e("--卸货信息", gson.toJson(lub)); Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) { if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) {
if (keys) { if (keys) {
nfc(); nfc();
uploadInfo(); uploadInfo();
@@ -439,9 +571,9 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
case 2: case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单 if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单 //上传回单
urib.setLatitude(lgdu.getLatitude() + ""); urib.setLatitude(tempLoca.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + ""); urib.setLongitude(tempLoca.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress()); urib.setLocationAddress(tempLoca.getAddress());
//装卸货类型 //装卸货类型
urib.setType(h_type + 1); urib.setType(h_type + 1);
//回单id 数组 //回单id 数组
@@ -450,7 +582,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
urib.setWaybillId(wid); urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib)); Log.e("--回单信息", gson.toJson(urib));
if (locationKey) { if (locationKey) {
if (index == 2 && keys) { if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
up_trafficSign(); up_trafficSign();
up_trafficReceipt(); up_trafficReceipt();
receipt_image(); receipt_image();
@@ -495,10 +627,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
public void up_trafficSign() { public void up_trafficSign() {
//安联 //安联
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(tempLoca.longitude); l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLoca.latitude); l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLoca.getAddress()); l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLoca.getTime()); l.setTime(tempLocaBd.getTime());
List<Goods> gs = new ArrayList<>(); List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) { for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) { if (wid.equals(wayChild.getId() + "")) {
@@ -535,10 +667,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
public void up_trafficReceipt() { public void up_trafficReceipt() {
//安联 //安联
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(tempLoca.longitude); l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLoca.latitude); l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLoca.getAddress()); l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLoca.getTime()); l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() { MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
@@ -563,9 +695,9 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT()); image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude); image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(latLng.latitude); image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(lgdu.getAddress()); image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() { MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
@@ -594,10 +726,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base); image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLoca.getTime()); image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLoca.longitude); image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLoca.latitude); image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLoca.getAddress()); image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() { MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
@@ -627,10 +759,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base); image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file)); image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file)); image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLoca.getTime()); image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLoca.longitude); image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLoca.latitude); image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLoca.getAddress()); image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() { MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override @Override
@@ -691,10 +823,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
//安联 //安联
if (sob.getData().getReportAlct() == 1) { if (sob.getData().getReportAlct() == 1) {
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(latLng.longitude); l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(latLng.latitude); l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(lgdu.getAddress()); l.setLocation(tempLocaBd.getAddress());
l.setTime(Timer.getTimerT()); l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() { MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
@@ -727,10 +859,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
//安联 //安联
if (sob.getData().getReportAlct() == 1) { if (sob.getData().getReportAlct() == 1) {
Location l = new Location(); Location l = new Location();
l.setBaiduLongitude(tempLoca.longitude); l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLoca.latitude); l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLoca.getAddress()); l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLoca.getTime()); l.setTime(tempLocaBd.getTime());
Log.e("-安联卸货信息-", gson.toJson(l)); Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() { MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override @Override
@@ -741,7 +873,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
JTTProcess.stop(con, sob, ""); JTTProcess.stop(con, sob, "");
} }
//卸货状态-平台 //卸货状态-平台
hyr.dischargeCargo(lub); hyr.dischargeCargo4(lub);
//卸货照片-安联 //卸货照片-安联
up_image(); up_image();
} }
@@ -749,7 +881,9 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity {
@Override @Override
public void onFailure(String s, String s1) { public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1); Log.e("上报安联失败(卸货):", s + s1);
new MessageUtils().showCenMessage(con, s1); // new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
} }
}); });
} }
@@ -1,21 +1,14 @@
package com.arpa.hndahesudintocctmsdriver.ui.news; package com.arpa.hndahesudintocctmsdriver.ui.news;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment;
import android.provider.Settings;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.arpa.hndahesudintocctmsdriver.R; import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
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.arpa.hndahesudintocctmsdriver.util.view.BottomTabUtil; import com.arpa.hndahesudintocctmsdriver.util.view.BottomTabUtil;
import com.dahe.mylibrary.utils.ToastUtils;
/** /**
* @author hlh * @author hlh
@@ -34,33 +27,6 @@ public class NewActivity extends BaseAppCompatActivity {
fs[0] =new NewsFragment(); fs[0] =new NewsFragment();
BottomTabUtil bt =new BottomTabUtil(this,R.id.body, fs); BottomTabUtil bt =new BottomTabUtil(this,R.id.body, fs);
bt.selectItem(fs[0]); bt.selectItem(fs[0]);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (!Environment.isExternalStorageManager()) {
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
this.startActivityForResult(intent, 1024);
}
}
} }
private boolean isRefuse = false;
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1024 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// 检查是否有权限
if (Environment.isExternalStorageManager()) {
isRefuse = false;
ToastUtils.showToast(this,"授权成功");
// 授权成功
} else {
isRefuse = true;
ToastUtils.showToast(this,"授权失败");
// 授权失败
}
}
}
} }
@@ -31,23 +31,23 @@ public class GetCarImageAlert {
PopupWindow popupWindow; PopupWindow popupWindow;
ImageView img; ImageView img;
public void showPopueWindow(AppCompatActivity act,boolean key){ public void showPopueWindow(AppCompatActivity act, boolean key) {
View popView = View.inflate(act, R.layout.choice_car_timg,null); View popView = View.inflate(act, R.layout.choice_car_timg, null);
Button btn_xiangce =popView.findViewById(R.id.btn_xiangce); Button btn_xiangce = popView.findViewById(R.id.btn_xiangce);
Button btn_paizhao = popView.findViewById(R.id.btn_paizhao); Button btn_paizhao = popView.findViewById(R.id.btn_paizhao);
Button btn_quxiao = popView.findViewById(R.id.btn_quxiao); Button btn_quxiao = popView.findViewById(R.id.btn_quxiao);
View v_1=popView.findViewById(R.id.v_1); View v_1 = popView.findViewById(R.id.v_1);
TextView tv_ts=popView.findViewById(R.id.tv_ts); TextView tv_ts = popView.findViewById(R.id.tv_ts);
img=popView.findViewById(R.id.img); img = popView.findViewById(R.id.img);
//获取屏幕宽高 //获取屏幕宽高
int weight =act.getResources().getDisplayMetrics().widthPixels; int weight = act.getResources().getDisplayMetrics().widthPixels;
int height = act.getResources().getDisplayMetrics().heightPixels*2/3; int height = act.getResources().getDisplayMetrics().heightPixels * 2 / 3;
popupWindow = new PopupWindow(popView,weight,height); popupWindow = new PopupWindow(popView, weight, height);
//popupWindow.setAnimationStyle(R.style.anim_popup_dir); //popupWindow.setAnimationStyle(R.style.anim_popup_dir);
popupWindow.setFocusable(true); popupWindow.setFocusable(true);
//点击外部popueWindow消失 //点击外部popueWindow消失
popupWindow.setOutsideTouchable(true); popupWindow.setOutsideTouchable(true);
if(key){ if (key) {
btn_xiangce.setVisibility(View.VISIBLE); btn_xiangce.setVisibility(View.VISIBLE);
img.setImageResource(R.drawable.huidan); img.setImageResource(R.drawable.huidan);
tv_ts.setText("请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。"); tv_ts.setText("请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。");
@@ -55,31 +55,41 @@ public class GetCarImageAlert {
//请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。 //请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。
} }
btn_xiangce.setOnClickListener(v -> { btn_xiangce.setOnClickListener(v -> {
PermissionX.init(act) try {
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE) PermissionX.init(act)
.request((allGranted, grantedList, deniedList) -> { .permissions(Manifest.permission.READ_EXTERNAL_STORAGE)
if (allGranted) { .request((allGranted, grantedList, deniedList) -> {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1); if (allGranted) {
} else { PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show(); } else {
} Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}); }
});
} catch (Exception e) {
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
}); });
btn_paizhao.setOnClickListener(v -> { btn_paizhao.setOnClickListener(v -> {
PermissionX.init(act) try{
.permissions(Manifest.permission.CAMERA) PermissionX.init(act)
.request((allGranted, grantedList, deniedList) -> { .permissions(Manifest.permission.CAMERA)
if (allGranted) { .request((allGranted, grantedList, deniedList) -> {
openCam(act); if (allGranted) {
openCam(act);
// 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(); Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
} }
}); });
}catch (Exception e){
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
}); });
img.setOnClickListener(v -> { img.setOnClickListener(v -> {
if (!key){ if (!key) {
PermissionX.init(act) PermissionX.init(act)
.permissions(Manifest.permission.CAMERA) .permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> { .request((allGranted, grantedList, deniedList) -> {
@@ -102,22 +112,22 @@ public class GetCarImageAlert {
WindowManager.LayoutParams lp = act.getWindow().getAttributes(); WindowManager.LayoutParams lp = act.getWindow().getAttributes();
lp.alpha = 0.5f; lp.alpha = 0.5f;
act.getWindow().setAttributes(lp); act.getWindow().setAttributes(lp);
popupWindow.showAtLocation(popView, Gravity.BOTTOM,0,50); popupWindow.showAtLocation(popView, Gravity.BOTTOM, 0, 50);
} }
public File getFile() { public File getFile() {
return file; return file;
} }
public void dis(){ public void dis() {
popupWindow.dismiss(); popupWindow.dismiss();
} }
private void openCam(AppCompatActivity act){ private void openCam(AppCompatActivity act) {
file=ImageGetUtil.createImageFile(act); file = ImageGetUtil.createImageFile(act);
if (file!=null){ if (file != null) {
ImageGetUtil.cameraAlbumGetImage(act,file); ImageGetUtil.cameraAlbumGetImage(act, file);
}else{ } else {
Toast.makeText(act.getBaseContext(), "路径创建失败,请清除缓存后重试", Toast.LENGTH_LONG).show(); Toast.makeText(act.getBaseContext(), "路径创建失败,请清除缓存后重试", Toast.LENGTH_LONG).show();
} }
} }
@@ -9,6 +9,8 @@ import android.provider.MediaStore;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import com.sdk.base.framework.utils.app.AppUtils;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@@ -39,7 +41,7 @@ public class ImageGetUtil {
if(imageFile!=null){ if(imageFile!=null){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){ if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){
/*7.0以上要通过FileProvider将File转化为Uri*/ /*7.0以上要通过FileProvider将File转化为Uri*/
uri = FileProvider.getUriForFile(act.getApplicationContext(),"com.arpa.hndahesudintocctmsdriver.fileprovider",imageFile); uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getPackageName()+".fileprovider",imageFile);
}else { }else {
/*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/ /*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/
uri = Uri.fromFile(imageFile); uri = Uri.fromFile(imageFile);
Binary file not shown.

After

Width:  |  Height:  |  Size: 432 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB

@@ -1,175 +1,225 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_shangchuan"
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" android:background="@drawable/bg_theme">
android:background="@drawable/bg_theme"
android:id="@+id/activity_shangchuan">
<ImageView <ImageView
android:layout_marginTop="@dimen/dp_16"
android:layout_width="@dimen/dp_300" android:layout_width="@dimen/dp_300"
android:layout_height="@dimen/dp_207" android:layout_height="@dimen/dp_207"
android:src="@mipmap/top_creativity" android:layout_centerHorizontal="true"
android:layout_centerHorizontal="true"/> android:layout_marginTop="@dimen/dp_16"
android:src="@mipmap/top_creativity" />
<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_30"
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_30"
android:padding="@dimen/dp_10" android:padding="@dimen/dp_10"
android:scaleType="fitXY"/> android:scaleType="fitXY"
android:src="@mipmap/return_lefts" />
<TextView <TextView
android:id="@+id/tv_loaction" android:id="@+id/tv_loaction"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textSize="@dimen/sp_14"
android:text="定位成功"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_30"
android:layout_centerVertical="true" android:layout_centerVertical="true"
android:layout_marginRight="@dimen/dp_30"
android:padding="@dimen/dp_5" android:padding="@dimen/dp_5"
android:textColor="@color/theme_color"/> android:text="定位成功"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_14" />
</RelativeLayout> </RelativeLayout>
<TextView <TextView
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
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_38"
android:layout_marginTop="@dimen/dp_8"
android:text="补传" android:text="补传"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_23" android:textSize="@dimen/sp_23" />
/>
<TextView
android:id="@+id/tvDate"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:gravity="center_vertical"
android:hint="请选择时间"></TextView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<EditText
android:layout_weight="1"
android:id="@+id/etAddress"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:hint="请输入地址"></EditText>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/red"
android:text="确定"
android:id="@+id/btnOk"
></Button>
</LinearLayout>
<TextView
android:id="@+id/tvLocation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
></TextView>
<TextView
android:id="@+id/name_top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:text="上传卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23" />
<TextView
android:id="@+id/name_top"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上传卸货照片"
android:textColor="#ff000000"
android:textSize="@dimen/sp_23"
/>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/getImg1" android:id="@+id/getImg1"
android:layout_marginTop="@dimen/dp_33"
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_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38" android:layout_marginRight="@dimen/dp_38"
app:cardCornerRadius="@dimen/dp_8"> app:cardCornerRadius="@dimen/dp_8">
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal">
<RelativeLayout <RelativeLayout
android:id="@+id/getImg" android:id="@+id/getImg"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:layout_marginLeft="@dimen/dp_11" android:layout_marginLeft="@dimen/dp_11"
android:layout_marginTop="@dimen/dp_13" android:layout_marginTop="@dimen/dp_13"
android:layout_marginBottom="@dimen/dp_13" android:layout_marginBottom="@dimen/dp_13"
android:layout_width="@dimen/dp_90"
android:layout_height="@dimen/dp_90"
android:background="#EEEEEE"> android:background="#EEEEEE">
<ImageView <ImageView
android:id="@+id/res_img" android:id="@+id/res_img"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
<ImageView <ImageView
android:id="@+id/img_icon" android:id="@+id/img_icon"
android:layout_width="@dimen/dp_23" android:layout_width="@dimen/dp_23"
android:layout_height="@dimen/dp_23" android:layout_height="@dimen/dp_23"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:src="@mipmap/up_img"/> android:layout_centerVertical="true"
android:src="@mipmap/up_img" />
<ImageView <ImageView
android:id="@+id/img_delete" android:id="@+id/img_delete"
android:layout_alignParentRight="true"
android:layout_width="@dimen/dp_25" android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25" android:layout_height="@dimen/dp_25"
android:src="@mipmap/icon_delete" android:layout_alignParentRight="true"
android:padding="@dimen/dp_3" android:padding="@dimen/dp_3"
android:visibility="gone"/> android:src="@mipmap/icon_delete"
android:visibility="gone" />
</RelativeLayout> </RelativeLayout>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_13"
android:layout_marginLeft="@dimen/dp_8"
android:layout_marginRight="@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_marginLeft="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_13"
android:layout_marginRight="@dimen/dp_10"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:layout_marginTop="@dimen/dp_7"
android:id="@+id/name_body" android:id="@+id/name_body"
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_7"
android:text="卸货照片" android:text="卸货照片"
android:textColor="#ff000000" android:textColor="#ff000000"
android:textSize="@dimen/sp_13" android:textSize="@dimen/sp_13" />
/>
<TextView <TextView
android:layout_marginTop="@dimen/dp_13"
android:id="@+id/address" android:id="@+id/address"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="#ff999999" android:layout_marginTop="@dimen/dp_13"
android:text="" android:text=""
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" /> android:textSize="@dimen/sp_13" />
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
<LinearLayout <LinearLayout
android:layout_marginTop="@dimen/dp_10"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
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_38"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_38">
<TextView <TextView
android:id="@+id/tips_x" android:id="@+id/tips_x"
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="#E61829" android:textColor="#E61829"
android:visibility="gone"/> android:visibility="gone" />
<TextView <TextView
android:id="@+id/tips" android:id="@+id/tips"
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="#E61829" android:textColor="#E61829"
android:visibility="gone"/> android:visibility="gone" />
</LinearLayout> </LinearLayout>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_marginTop="@dimen/dp_33"
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_42" android:layout_height="@dimen/dp_42"
app:cardCornerRadius="@dimen/dp_21" android:layout_marginLeft="@dimen/dp_38"
app:cardBackgroundColor="@color/red"> android:layout_marginTop="@dimen/dp_33"
android:layout_marginRight="@dimen/dp_38"
app:cardBackgroundColor="@color/red"
app:cardCornerRadius="@dimen/dp_21">
<TextView <TextView
android:id="@+id/submit" android:id="@+id/submit"
android:layout_alignParentRight="true"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:gravity="center"
android:text="提交" android:text="提交"
android:textColor="#fff" android:textColor="#fff"
android:textSize="@dimen/sp_15" android:textSize="@dimen/sp_15" />
android:gravity="center"
/>
</androidx.cardview.widget.CardView> </androidx.cardview.widget.CardView>
</LinearLayout> </LinearLayout>
</RelativeLayout> </RelativeLayout>
+2 -1
View File
@@ -46,7 +46,8 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:visibility="gone"> android:visibility="gone"
>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/btn_news" android:id="@+id/btn_news"
@@ -160,7 +160,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break; break;
case 14://定位成功 case 14://定位成功
locationKey = true; locationKey = true;
customDialog.dismiss(); if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位成功"); tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null)); tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude())); latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
@@ -168,7 +170,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break; break;
case 16://定位失败 case 16://定位失败
locationKey = false; locationKey = false;
customDialog.dismiss(); if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
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(); Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
@@ -0,0 +1,876 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.help.Inputtips;
import com.amap.api.services.help.InputtipsQuery;
import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode;
import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgActivity extends BaseAppCompatActivity implements Inputtips.InputtipsListener {
private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation;
private RelativeLayout getImg;
private EditText etAddress;
private Button btnOk;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
private String selDate;
private GeocodeSearch geocoderSearch;
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
@Override
public void onGetInputtips(List<Tip> tipList, int rCode) {
if (rCode == AMapException.CODE_AMAP_SUCCESS) {
List<String> names = new ArrayList<String>();
if(tipList != null) {
int size = tipList.size();
for (int i = 0; i < size; i++) {
Tip tip = tipList.get(i);
if(tip != null) {
names.add(tip.getDistrict()+tip.getName());
}
}
new XPopup.Builder(this)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.hasShadowBg(false) // 去掉半透明背景
.atView(etAddress)
.asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() {
@Override
public void onSelect(int position, String text) {
Tip tip = tipList.get(position);
etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName());
LatLonPoint latLonPoint = tip.getPoint();
tempLoca.setAddress(etAddress.getText().toString());
tempLoca.setLatitude(latLonPoint.getLatitude());
tempLoca.setLongitude(latLonPoint.getLongitude());
tempLoca.setTime(tvDate.getText().toString());
LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
tempLocaBd.setLongitude(latLng.longitude);
tempLocaBd.setLatitude(latLng.latitude);
tempLocaBd.setAddress(etAddress.getText().toString());
tempLocaBd.setTime(tvDate.getText().toString());
}
})
.show();
// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout,
// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id});
//
// minputlist.setAdapter(aAdapter);
// aAdapter.notifyDataSetChanged();
}
} else {
}
}
class TempLoca{
private double latitude;
private double longitude;
private String address;
private String time;
public TempLoca() {
}
public TempLoca(double latitude, double longitude, String address, String time) {
this.latitude = latitude;
this.longitude = longitude;
this.address = address;
this.time = time;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
CacheGroup.cacheList.remove("carName");
}
if (CacheGroup.cacheList.get("carNum") != null) {
Log.e("upload", CacheGroup.cacheList.get("carNum"));
CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class);
if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) {
String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue();
String forceMatching = ub.getData().getForceMatching();
if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验
if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path));
} else {
new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) {
Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
}
}
CacheGroup.cacheList.remove("carNum");
}
break;
case 14://定位成功
locationKey = true;
customDialog.dismiss();
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
customDialog.dismiss();
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_bc);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
btnOk = findViewById(R.id.btnOk);
etAddress = findViewById(R.id.etAddress);
tvDate = findViewById(R.id.tvDate);
tvLocation = findViewById(R.id.tvLocation);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
}
});
btnOk.setOnClickListener(v -> {
String s = etAddress.getText().toString();
if (TextUtils.isEmpty(selDate)){
ToastUtils.showToast(this,"请先选择时间");
return;
}
if (!TextUtils.isEmpty(s)&&s.length()>=4){
InputtipsQuery inputquery = new InputtipsQuery(s, "");
// inputquery.setCityLimit(true);
Inputtips inputTips = new Inputtips(this, inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
}else{
ToastUtils.showToast(this,"请输入地址且长度大于4");
}
});
tvDate.setOnClickListener(v -> {
DatimePicker datimePicker = new DatimePicker(this);
datimePicker.setBodyWidth(300);
datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now());
datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> {
selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.show();
});
hyr = new HuoYuanRequset(con, hd);
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, true);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
lub.setRealLoadTime(tempLoca.getTime());
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo4(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
// new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
}
});
}
}
}
@@ -0,0 +1,725 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
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.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgActivity extends BaseAppCompatActivity {
private TextView submit, name_top, name_body, address, tips, tips_x;
private RelativeLayout getImg;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
CacheGroup.cacheList.remove("carName");
}
if (CacheGroup.cacheList.get("carNum") != null) {
Log.e("upload", CacheGroup.cacheList.get("carNum"));
CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class);
if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) {
String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue();
String forceMatching = ub.getData().getForceMatching();
if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验
if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path));
} else {
new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) {
Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
}
}
CacheGroup.cacheList.remove("carNum");
}
break;
case 14://定位成功
locationKey = true;
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// if (keys) {
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// }
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
// lu = new LocationUtil(con, hd);
// lu.onCreate();
}
});
hyr = new HuoYuanRequset(con, hd);
// if (!NfcUtils.hasNfc(con)) {
// Toast.makeText(con,"请先开启nfc",Toast.LENGTH_LONG).show();
// }else{
// initData();
// }
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, index == 2);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
}
@@ -176,7 +176,7 @@ public final class TimeUtil {
* 注意:SimpleDateFormat不是线程安全的,线程安全需用{@code ThreadLocal<SimpleDateFormat>} * 注意:SimpleDateFormat不是线程安全的,线程安全需用{@code ThreadLocal<SimpleDateFormat>}
*/ */
public static final DateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()); private static final DateFormat DEFAULT_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
private static final DateFormat DEFAULT_FORMAT2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZSS:SS", Locale.getDefault()); private static final DateFormat DEFAULT_FORMAT2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZSS:SS", Locale.getDefault());
private static final DateFormat DEFAULT_FORMAT3 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault()); private static final DateFormat DEFAULT_FORMAT3 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.getDefault());
public static final DateFormat DEFAULT_FORMAT4 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault()); public static final DateFormat DEFAULT_FORMAT4 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault());