Compare commits

..
23 Commits
Author SHA1 Message Date
lijia ef6393e8ca 运营端login appname 2025-01-14 10:55:04 +08:00
lijia b082e37493 Merge branch 'newlj2' into newlj2toyybc 2025-01-14 09:06:29 +08:00
lijia ed4f34eb58 接单30秒倒计时 2025-01-14 09:03:45 +08:00
lijia 420169a34d Merge branch 'newlj2' into newlj2toyybc 2025-01-13 09:03:46 +08:00
lijia ad37c159d1 78版本 2025-01-13 08:56:02 +08:00
lijia 265e09e532 装卸货时间优化 2025-01-10 17:30:09 +08:00
lijia 38dcefb121 银行卡识别失败优化 2025-01-10 16:53:09 +08:00
lijia 11c90e450c 退出登录添加记住账号 2025-01-06 17:21:43 +08:00
lijia 1224578088 运营端添加车辆过滤优化 2024-12-31 16:53:10 +08:00
lijia 6448a48c10 运营端添加车辆过滤 2024-12-31 16:47:00 +08:00
lijia 66b581c296 Merge branch 'newlj2' into newlj2toyybc 2024-12-31 16:41:00 +08:00
lijia d9a9b9b634 添加不上传安联逻辑 2024-12-31 16:39:47 +08:00
lijia 205a6ee7f5 驾驶证添加起始截止日期格式判断 2024-12-31 11:03:17 +08:00
lijia 7d86e5cbc6 77版本 2024-12-25 17:08:48 +08:00
lijia d8e5cbeb90 接单前人车绑定关系查询 2024-12-25 15:48:05 +08:00
lijia d4fd83c8f2 Merge branch 'master' into newlj2 2024-12-25 15:01:46 +08:00
lijia e3b6ba4f1c 实名认证url为空优化 2024-12-25 10:54:28 +08:00
lijia 699983cb83 真实位置上传取消 2024-12-20 09:12:24 +08:00
lijia 58a3f502da 76版 打开权限设置工具类 2024-12-20 08:32:00 +08:00
lijia f0c7b321f4 运营端更新注释 2024-12-19 09:11:14 +08:00
lijia f7a3b4303d 新路交运营端代码 2024-12-18 17:29:24 +08:00
lijia ebaa442309 查询司机失败提示优化 2024-12-18 16:39:56 +08:00
lijia ac6906a1a5 新路交替换 2024-12-18 15:22:03 +08:00
35 changed files with 992 additions and 1396 deletions
+37 -27
View File
@@ -2,7 +2,8 @@ plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
// id 'kotlin-android-extensions'
id 'com.huawei.agconnect'
id 'kotlin-android-extensions'
}
android {
@@ -37,17 +38,17 @@ android {
applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 24
targetSdkVersion 30
versionCode 75
versionName "3.4.5"
versionCode 78
versionName "3.4.8"
flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
javaCompileOptions {
// annotationProcessorOptions {
// includeCompileClasspath = true
// arguments = [moduleName: project.getName()]
// }
annotationProcessorOptions {
includeCompileClasspath = true
arguments = [moduleName: project.getName()]
}
}
ndk {
@@ -82,17 +83,17 @@ android {
kotlinOptions {
jvmTarget = '1.8'
}
// allprojects {
// repositories {
// maven { url "https://jitpack.io" }
// }
// }
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
// repositories {
// flatDir {
// dirs 'libs'
// }
// }
repositories {
flatDir {
dirs 'libs'
}
}
productFlavors {
qa {
@@ -127,6 +128,22 @@ android {
resValue "string", "appName", "大河好运司机"
}
productbc {
applicationId "com.arpa.hndahesudintocctmsdriver.bc"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "f960bc6d14788238918bd014fa08a870",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //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 ->
// flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
@@ -156,9 +173,6 @@ android {
dependencies {
// implementation(fileTree("libs"))
// implementation(name: 'mdp-release', ext: 'aar')
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
implementation 'com.caverock:androidsvg-aar:1.3'
@@ -188,8 +202,7 @@ dependencies {
implementation 'com.alibaba:fastjson:1.2.61'
implementation 'org.bouncycastle:bcprov-jdk15on:1.55'
implementation 'org.apache.commons:commons-lang3:3.5'
// implementation(name: 'locationgd-androidx_2.1.0', ext: 'aar')//交通厅
implementation files('libs/locationgd-androidx_2.1.0.aar')
implementation(name: 'locationgd-androidx_2.1.0', ext: 'aar')//交通厅
//安联
// implementation 'com.google.code.gson:gson:2.8.6'
implementation 'com.loopj.android:android-async-http:1.4.9'
@@ -216,10 +229,8 @@ dependencies {
//EventBus
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 files('libs/EsignSDK.aar')
implementation "com.squareup.retrofit2:retrofit:2.4.0"
// implementation "com.squareup.retrofit2:converter-gson:2.4.0"
@@ -234,9 +245,8 @@ dependencies {
//
implementation 'com.github.getActivity:XToast:8.2'
implementation files('libs/mdp-release.aar')
// implementation(name: 'mdp-release', ext: 'aar')
implementation project(path: ':mylibrary')
implementation files('libs/mdp-release.aar')
}
+13 -31
View File
@@ -54,7 +54,7 @@
android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true"
android:excludeFromRecents="true"
android:icon="@mipmap/diver_logo"
android:icon="@mipmap/diver_log_yy"
android:label="@string/appName"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
@@ -100,9 +100,8 @@
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait"
android:exported="true">
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
@@ -115,24 +114,8 @@
</activity>
<activity
android:name=".ui.home.shangchuan.ShangChuangImgNewActivity"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity
android:name=".ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait"
android:exported="true">
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
@@ -146,9 +129,8 @@
<activity
android:name=".ui.home.shangchuan.ShangChuangImgActivity2"
android:screenOrientation="portrait"
android:exported="true">
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity2"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
@@ -273,11 +255,14 @@
android:exported="true"
android:process=":mdpLocation_v1" />
<!--后台访问 gps-->
<service
android:name="com.express.mdp.GpsService"
android:foregroundServiceType="location"
android:label="GPS服务"
android:priority="1000" />
<service
android:name="com.baidu.location.f"
android:enabled="true"
@@ -384,8 +369,7 @@
</intent-filter>
</activity>
<activity android:name=".ui.NFCActivity"
android:exported="true">
<activity android:name=".ui.NFCActivity">
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
@@ -399,8 +383,7 @@
<activity
android:name=".H5Activity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:exported="true">
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@@ -428,8 +411,7 @@
<activity
android:name=".H5Activity2"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:exported="true">
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
@@ -232,6 +232,10 @@ public class H5Activity extends AppCompatActivity {
} else {
String url = intent.getStringExtra("url");
if (TextUtils.isEmpty(url)) {
ActivityUtils.finishToActivity(MainActivity.class, false);
return;
}
viewFile = intent.getBooleanExtra("view_file", false);
if (url.startsWith("alipay")) {
try {
@@ -68,9 +68,18 @@ public class CarListBean {
private Object carImage;
private String owner;
private String vehicleNumber;
private String outInvoice;
private int auditStatus;
private String drivingLicenseValidity;
public String getOutInvoice() {
return outInvoice;
}
public void setOutInvoice(String outInvoice) {
this.outInvoice = outInvoice;
}
public String getCarNumber() {
return carNumber == null ? "" : carNumber;
}
@@ -1,12 +1,20 @@
package com.arpa.hndahesudintocctmsdriver.cuspop
import android.Manifest
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.View
import android.widget.TextView
import android.widget.Toast
import androidx.fragment.app.FragmentActivity
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil
import com.dahe.mylibrary.utils.ToastUtils
import com.lxj.xpopup.core.CenterPopupView
import com.lxj.xpopup.util.XPermission
import com.permissionx.guolindev.PermissionX
import kotlinx.android.synthetic.main.load.view.*
import kotlinx.android.synthetic.main.pop_message_center.view.*
/**
@@ -30,14 +38,9 @@ class MessagePop(context: Context) : CenterPopupView(context), View.OnClickListe
}
override fun getImplLayoutId() = R.layout.pop_message_center
private lateinit var tvPhone : TextView
override fun onCreate() {
super.onCreate()
val tvCancel = findViewById<View>(R.id.tvCancel) as TextView
val tvOk = findViewById<View>(R.id.tvOk) as TextView
tvPhone = findViewById<View>(R.id.tvPhone) as TextView
val tvContent = findViewById<View>(R.id.tvContent) as TextView
val tvMessage2 = findViewById<View>(R.id.tvMessage2) as TextView
tvCancel.setOnClickListener(this)
tvOk.setOnClickListener(this)
tvPhone.setOnClickListener(this)
@@ -2,9 +2,11 @@ package com.arpa.hndahesudintocctmsdriver.cuspop
import android.content.Context
import android.view.View
import android.widget.TextView
import com.arpa.hndahesudintocctmsdriver.R
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity
import com.lxj.xpopup.core.CenterPopupView
import kotlinx.android.synthetic.main.pop_sim_center.view.*
import org.bouncycastle.jcajce.provider.symmetric.Rijndael
/**
@@ -31,10 +33,6 @@ class SimCenterPop(context: Context) : CenterPopupView(context), View.OnClickLis
override fun onCreate() {
super.onCreate()
val tvCancel = findViewById<View>(R.id.tvCancel) as TextView
val tvOk = findViewById<View>(R.id.tvOk) as TextView
val tvContent = findViewById<View>(R.id.tvContent) as TextView
tvCancel.text = titleLeft
tvOk.text = titleReft
tvCancel.setOnClickListener(this)
@@ -1,11 +1,11 @@
package com.arpa.hndahesudintocctmsdriver.cuspop
import android.content.Context
import android.view.View
import android.widget.TextView
import com.arpa.hndahesudintocctmsdriver.R
import com.lxj.xpopup.core.PositionPopupView
import com.lxj.xpopup.enums.DragOrientation
import kotlinx.android.synthetic.main.popup_qq_msg.view.tvMessage
import kotlinx.android.synthetic.main.popup_qq_msg.view.tvTitle
/**
* Description: 自定义自由定位Position弹窗
@@ -30,9 +30,6 @@ class TopMsgPopup(context: Context,title:String, message: String) : PositionPopu
override fun onCreate() {
super.onCreate()
val tvMessage = findViewById<View>(R.id.tvMessage) as TextView
val tvTitle = findViewById<View>(R.id.tvTitle) as TextView
tvMessage.text = message
tvTitle.text = title
}
@@ -2,6 +2,7 @@ package com.arpa.hndahesudintocctmsdriver.report;
import android.content.Context;
import android.os.Handler;
import android.text.TextUtils;
import android.util.Log;
import com.alct.mdp.MDPLocationCollectionManager;
@@ -156,11 +157,15 @@ public class ALProcess {
}
public static void verification(Context con,Handler hd){
public static void verification(Context con,String carNum,Handler hd){
DriverAuthDataBean auth= AuthParts.getAuth(con);
if (auth==null){
return;
}
if (TextUtils.isEmpty(carNum)){
ToastUtils.showToast(con,"请选择车辆");
return;
}
// Identity idy=new Identity();
// //企业代码
// idy.setEnterpriseCode(BuildConfig.isTest?ENTERPRISE_CODE_TEXT:ENTERPRISE_CODE);
@@ -187,7 +192,8 @@ public class ALProcess {
// }
// });
NewLJUtils.getInstance().searchDriver(con, auth.getData().getIdcard(), new OnGDDownloadResultListener(){
NewLJUtils.getInstance().trucks(con, auth.getData().getIdcard(),carNum, new OnGDDownloadResultListener(){
@Override
public void onSuccess(String var1) {
MsgUtil.addHdMsgWatBody(hd, 1111,"认证成功");
@@ -199,6 +205,18 @@ public class ALProcess {
}
});
// NewLJUtils.getInstance().searchDriver(con, auth.getData().getIdcard(), new OnGDDownloadResultListener(){
// @Override
// public void onSuccess(String var1) {
// MsgUtil.addHdMsgWatBody(hd, 1111,"认证成功");
// }
//
// @Override
// public void onFailure(String var1, String var2) {
// MsgUtil.addHdMsgWatBody(hd, 2222,var2);
// }
// });
// NewLJUtils.getInstance().getToken(con, new OnGDResultListener() {
// @Override
// public void onSuccess() {
@@ -119,6 +119,9 @@ public class JTTProcess {
//参数 ShippingNoteInfo 和 start 接口中的参数 ShippingNoteInfo 相
//同,这里 shippingNoteInfo 信息只需传入运单号和分单号即可
public static void send(Context con,StartOrderBean sob,String remark){
if (sob.getData()==null){
return;
}
ShippingNoteInfo[] snis=new ShippingNoteInfo[1];
ShippingNoteInfo sni=new ShippingNoteInfo();
sni.setShippingNoteNumber(sob.getData().getShippingNoteNumber());
@@ -152,5 +152,14 @@ public interface Api {
@GET(BASE_URL+"/openapi/drivers")
Observable<CommonResponseBean> searchDriver(@Query("identityNo") String identityNo);
/**
* 司机车辆绑定关系
* @param identityNo
* @return
*/
@GET(BASE_URL+"openapi/drivers/{identityNo}/trucks")
Observable<CommonResponseBean> trucks(@Path("identityNo") String identityNo);
}
@@ -1,89 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.service;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.IBinder;
import androidx.annotation.Nullable;
import androidx.core.app.NotificationCompat;
import com.arpa.hndahesudintocctmsdriver.R;
import com.express.mdp.gps.a;
/**
* @ClassName TrackForeService
* @Author john
* @Date 2024/12/2 13:12
* @Description TODO
*/
public class TrackForeService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
// String var3 = "channelId" + System.currentTimeMillis();
// NotificationCompat.Builder var4;
// NotificationCompat.Builder var10001 = var4 = new NotificationCompat.Builder;
// var4.<init>(this, var3);
// var4.setContentText("运单轨迹服务");
// var4.setContentTitle("");
// var10001.setSmallIcon(var1);
// var10001.setAutoCancel(false);
// var10001.setShowWhen(true);
// var10001.setWhen(System.currentTimeMillis());
// var10001.setPriority(2);
// var10001.setOngoing(true);
// var10001.setDefaults(-1);
// NotificationManager var7 = (NotificationManager)this.getSystemService("notification");
// if (Build.VERSION.SDK_INT >= 26) {
// NotificationChannel var5;
// var5 = new NotificationChannel.<init>(var3, var2, 4);
// var7.createNotificationChannel(var5);
// var4.setChannelId(var3);
// }
//
// a var10000 = this;
// Notification var6 = var4.build();
// var4.setContentIntent((PendingIntent)null);
// var7.notify(6, var6);
// var10000.startForeground(6, var6);
// 判断是否为8.0版本以上
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
// 获取系统服务管理器
NotificationManager manage = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
String id = "channelId" + System.currentTimeMillis();
String name = "通知分类名称";
// 建立通知通道
NotificationChannel notificationChannel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_DEFAULT);
manage.createNotificationChannel(notificationChannel);
Notification build = new NotificationCompat.Builder(this, id)
.setContentTitle("前台服务")
.setContentText("运单轨迹服务")
.setWhen(System.currentTimeMillis()) // 当前时间
.setSmallIcon(R.drawable.ic_launcher_background) // 图标
.setProgress(100, 10, false) // 进度
.build();
// 第一个参数唯一就好
startForeground(1, build);
manage.notify(1, build);
}
}}
@@ -67,20 +67,20 @@ public class TrackService extends Service {
public void onCreate() {
super.onCreate();
con = this;
hyr = new HuoYuanRequset(con, hd);
Log.e("开始循环上传,等待100ms", "-----");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
snn = SPUtil.getSP(con, "order", "ShippingNoteNumber");
if (!snn.equals("")) {
l = new LocationGDUtil(con, hd);
l.onCreate();
} else {
onDestroy();
}
}
}, 100, timeSum);
// hyr = new HuoYuanRequset(con, hd);
// Log.e("开始循环上传,等待100ms", "-----");
// new Timer().schedule(new TimerTask() {
// @Override
// public void run() {
// snn = SPUtil.getSP(con, "order", "ShippingNoteNumber");
// if (!snn.equals("")) {
// l = new LocationGDUtil(con, hd);
// l.onCreate();
// } else {
// onDestroy();
// }
// }
// }, 100, timeSum);
}
//开始
@@ -97,18 +97,18 @@ public class TrackService extends Service {
}
public void genzong() {
if (l == null || l.getLatitude() == 0d) {
return;
}
//经度
tib.setLatitude(l.getLatitude() + "");
//纬度
tib.setLongitude(l.getLongitude() + "");
Log.e("经度", l.getLatitude() + "");
Log.e("维度", l.getLongitude() + "");
//单号
tib.setShippingNoteNumber(snn);
hyr.trackTracking(tib);
// if (l == null || l.getLatitude() == 0d) {
// return;
// }
// //经度
// tib.setLatitude(l.getLatitude() + "");
// //纬度
// tib.setLongitude(l.getLongitude() + "");
// Log.e("经度", l.getLatitude() + "");
// Log.e("维度", l.getLongitude() + "");
// //单号
// tib.setShippingNoteNumber(snn);
// hyr.trackTracking(tib);
}
}
@@ -1,7 +1,5 @@
package com.arpa.hndahesudintocctmsdriver.ui;
import static com.dahe.mylibrary.utils.BaseSPUtils.NEW_LJ_TOKEN;
import android.content.Context;
import com.arpa.hndahesudintocctmsdriver.event.HomeEvent;
@@ -43,7 +41,6 @@ public class UiAuxiliary {
public static void delLogin(Context con){
// JPushInterface.deleteAlias(con,0);
SPUtils.remove(con,"curWaybillId");
SPUtils.remove(con,NEW_LJ_TOKEN);
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_TOKEN,"");
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_UNAME,"");
SPUtil.insSP(con,LoginActivity.USER,LoginActivity.USER_RNAME,"");
@@ -1220,14 +1220,29 @@ public class CertificatesActivity extends BaseAppCompatActivity {
iib.setDriverLicense(str1);
iib.setDriverLicenseBackPhoto(backId);
iib.setDriverLicensePhoto(fontId);
iib.setEndTime("长期".equals(odl.getData().getEndDate()) ? "2999-12-31" : odl.getData().getEndDate());
if ("长期".equals(odl.getData().getEndDate())){
iib.setEndTime("2999-12-31");
}else if (TimeUtil.isValidDate(odl.getData().getEndDate())){//非yyyy-MM-dd格式的日期传""
iib.setEndTime(odl.getData().getEndDate());
}else{
iib.setEndTime("");
}
// iib.setEndTime("长期".equals(odl.getData().getEndDate()) ? "2999-12-31" : odl.getData().getEndDate());
iib.setFirstTime(odl.getData().getFirstGetDocDate());
// iib.setName(odl.getData().getName());
iib.setOrganizationName(odl.getData().getIssuingAuthority());
iib.setAddress(odl.getData().getAddress());
if (TimeUtil.isValidDate(odl.getData().getBeginDate())){//非yyyy-MM-dd格式的日期传""
iib.setStartTime(odl.getData().getBeginDate());
}else{
iib.setStartTime("");
}
// iib.setStartTime(odl.getData().getBeginDate());
iib.setSex(odl.getData().getSex());
iib.setBirthday(odl.getData().getBirthday());
@@ -54,6 +54,7 @@ import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.WalletRequest;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC;
import com.arpa.hndahesudintocctmsdriver.ui.news.NewActivity;
import com.arpa.hndahesudintocctmsdriver.ui.wallet.UpBankActivity;
import com.arpa.hndahesudintocctmsdriver.ui.web.WebOnlyOneActivity;
@@ -728,15 +729,17 @@ public class HomeFragment extends BaseFragment {
int zStatus = zData.getStatus();
int xStatus = xData.getStatus();
if (zStatus == 0) {//未装货
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 0);
in.putExtra("reportAlct", data.getReportAlct());
in.putExtra("wid", zData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
startActivity(in);
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 2);
in.putExtra("reportAlct", data.getReportAlct());
in.putExtra("wid", zData.getId() + "");
in.putExtra("h_type", 0);
in.putExtra("sob", gson.toJson(sob));
@@ -744,8 +747,9 @@ public class HomeFragment extends BaseFragment {
} else if (zStatus == 3 && xStatus == 4) {//已上传装货回单,未卸货
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zData.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 1);
in.putExtra("reportAlct", data.getReportAlct());
in.putExtra("wid", xData.getId() + "");
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", true);
@@ -755,8 +759,9 @@ public class HomeFragment extends BaseFragment {
}
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 2);
in.putExtra("reportAlct", data.getReportAlct());
in.putExtra("wid", xData.getId() + "");
in.putExtra("h_type", 1);
in.putExtra("sob", gson.toJson(sob));
@@ -798,7 +803,7 @@ public class HomeFragment extends BaseFragment {
// if((newTime-oldTime)>1000){
// customDialog=new CustomDialog(con,"加载中...");
// customDialog.show();
ur.upApp();
// ur.upApp();
// hyr.getHuoYuan(1, 100);
ur.getImage(1);
WalletRequest qr = new WalletRequest(con, hd);
@@ -872,8 +877,8 @@ public class HomeFragment extends BaseFragment {
orderNum.setText("运单号:" + sob.getData().getShippingNoteNumber());
order_state.setText("" + sob.getData().getWaybillStatus());
try {
Intent serviceIn = new Intent(con, TrackService.class);
getActivity().startService(serviceIn);
// Intent serviceIn = new Intent(con, TrackService.class);
// getActivity().startService(serviceIn);
} catch (Exception e) {
e.printStackTrace();
}
@@ -231,8 +231,8 @@ public class HuoYuanFragmengt extends BaseFragment {
if(sob!=null && sob.getData()!=null && sob.getData().getWayChildren().size()>0){
SPUtil.insSP(con,"order","ShippingNoteNumber",sob.getData().getShippingNoteNumber());
Log.e("开始轨迹上传服务","-----");
Intent serviceIn=new Intent(con,TrackService.class);
getActivity().startService(serviceIn);
// Intent serviceIn=new Intent(con,TrackService.class);
// getActivity().startService(serviceIn);
list.add(new ManyBean(sob.getData(),R.layout.huoyuan_yundan));
}else{
SPUtil.insSP(con,"order","ShippingNoteNumber","");
@@ -8,6 +8,7 @@ import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
@@ -17,6 +18,7 @@ import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.CheckBox;
@@ -48,7 +50,10 @@ import com.arpa.hndahesudintocctmsdriver.util.img.ImageGetUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener;
import com.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.google.gson.Gson;
@@ -74,6 +79,7 @@ import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.interfaces.XPopupCallback;
import com.permissionx.guolindev.PermissionX;
import org.greenrobot.eventbus.EventBus;
@@ -81,6 +87,7 @@ import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;
public class HuoYunDelActivity extends BaseAppCompatActivity {
@@ -94,6 +101,10 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
private BasePopupView xp;
private TextView car;
private String cid;
private String selectCarNum = "";
private String currOutInvoice = "0";
@Override
public void msgMethod(Message m) {
@@ -158,13 +169,17 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
isRegOk = true;
Log.e("orderStatus", CacheGroup.cacheList.get("orderStatus"));
WaybillStatusBean status = gson.fromJson(CacheGroup.cacheList.get("orderStatus"), WaybillStatusBean.class);
if (status.getCode() == 200) {
if (regOkPop != null && regOkPop.isShow()) {
regOkPop.dismiss();
}
if (status.getData() != null) {
//执行运单下一步操作
new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asConfirm("请确认接单", "是否确定承运此运单?",
"取消", "确认",
() -> {
@@ -189,6 +204,8 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
int index = Integer.valueOf((String) m.obj);
Log.e("--选择车辆--", clb.getData().get(index).getCarNumber());
car.setText("选择车辆:" + clb.getData().get(index).getCarNumber());
selectCarNum = clb.getData().get(index).getCarNumber();
currOutInvoice = clb.getData().get(index).getOutInvoice();
cid = clb.getData().get(index).getCarId();
break;
@@ -317,11 +334,24 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
ImageButton xuanze = v.findViewById(R.id.xuanze);
if (hyd != null && hyd.getData() != null && !TextUtils.isEmpty(hyd.getData().getCarNumber())) {
String carNumber = hyd.getData().getCarNumber();
if (clb != null && !clb.getData().isEmpty()) {//判断车辆是否需要上传安联
for (CarListBean.DataDTO datum : clb.getData()) {
if (carNumber.equals(datum.getCarNumber())) {
cid = hyd.getData().getCarId();
car.setText("选择车辆:" + hyd.getData().getCarNumber());
currOutInvoice = datum.getOutInvoice();
selectCarNum = hyd.getData().getCarNumber();
break;
}
}
}
} else if (clb != null && clb.getData().size() == 1) {
cid = clb.getData().get(0).getCarId();
car.setText("选择车辆:" + clb.getData().get(0).getCarNumber());
currOutInvoice = clb.getData().get(0).getOutInvoice();
selectCarNum = clb.getData().get(0).getCarNumber();
}
xuanze.setOnClickListener(v1 -> {
if (clb.getData().size() > 0) {
@@ -334,7 +364,7 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
});
//
Button confirm_btn = v.findViewById(R.id.confirm_btn);
confirm_btn.setOnClickListener(v13 -> {
confirm_btn.setOnClickListener(new OnLimitClickHelper(view -> {
if ("1".equals(UserParts.getUser(con).getData().getRealAuthentication())) {
if (cid != null) {
// if (fpKey){
@@ -355,7 +385,7 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
Intent in = new Intent(con, PersonalAuthActivity.class);
startActivity(in);
}
});
}));
BaseRecyclerView zhuang_data = v.findViewById(R.id.zhuang_rv1);
BaseRecyclerView xie_data = v.findViewById(R.id.zhuang_rv2);
List<Object> listz = new ArrayList<>();
@@ -490,6 +520,8 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
* 先判断安联用户信息验证,随后接单
*/
private void reOrder() {
//开始倒计时
startCountDown();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
PermissionX.init(this)
@@ -501,8 +533,13 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
if (allGranted) {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
if ("0".equals(currOutInvoice)) {
//验证安联用户是否通过
ALProcess.verification(con, hd);
ALProcess.verification(con, selectCarNum, hd);
} else {
hyr.getOrderStatus(id);
}
} else {
boolean accessCoarseLocation = deniedList.contains("android.permission.ACCESS_FINE_LOCATION");
boolean contains = deniedList.contains("android.permission.WRITE_EXTERNAL_STORAGE");
@@ -522,14 +559,14 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
ALProcess.verification(con, selectCarNum, hd);
}
} else {
customDialog = new CustomDialog(con, "正在接单...");
customDialog.show();
//验证安联用户是否通过
ALProcess.verification(con, hd);
ALProcess.verification(con, selectCarNum, hd);
}
@@ -544,4 +581,97 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Override
protected void onStop() {
super.onStop();
// 取消倒计时,防止内存泄漏
if (countDownTimer != null) {
countDownTimer.cancel();
}
if (regOkPop != null && regOkPop.isShow()) {
regOkPop.dismiss();
}
}
private CountDownTimer countDownTimer;
private boolean isRegOk = false;
private BasePopupView regOkPop;
private void startCountDown() {
countDownTimer = new CountDownTimer(30000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
// 更新TextView显示剩余时间
System.out.println("asdf");
}
@Override
public void onFinish() {
if (!isRegOk) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
//执行运单下一步操作
regOkPop = new XPopup.Builder(con)
.setPopupCallback(new XPopupCallback() {
@Override
public void onCreated(BasePopupView popupView) {
}
@Override
public void beforeShow(BasePopupView popupView) {
}
@Override
public void onShow(BasePopupView popupView) {
}
@Override
public void onDismiss(BasePopupView popupView) {
isRegOk = false;
}
@Override
public void beforeDismiss(BasePopupView popupView) {
}
@Override
public boolean onBackPressed(BasePopupView popupView) {
return false;
}
@Override
public void onKeyBoardStateChanged(BasePopupView popupView, int height) {
}
@Override
public void onDrag(BasePopupView popupView, int value, float percent, boolean upOrLeft) {
}
@Override
public void onClickOutside(BasePopupView popupView) {
}
})
.asConfirm("提示", "接单失败,请返回重新接单!",
"取消", "确认",
() -> {
isRegOk = false;
finish();
}, () -> {
}, false, R.layout.alert_ok_cancel) //最后一个参数绑定已有布局
.show();
}
}
}.start(); // 别忘了调用start()方法来启动倒计时
}
}
@@ -41,6 +41,7 @@ import com.amap.api.services.route.DriveStep;
import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.bumptech.glide.Glide;
@@ -101,6 +102,7 @@ public class StartYunDanActivity extends BaseActivity {
private boolean key = false;
private int id = 0;
LocationGDUtil ld;
private TextView pl_submit;
@Override
public void msgMethod(Message m) {
@@ -134,6 +136,7 @@ public class StartYunDanActivity extends BaseActivity {
if (CacheGroup.cacheList.get(KEEP_EVALUTE) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(KEEP_EVALUTE), BaseBean.class);
if (bb.getCode() == 200) {
pl_submit.setVisibility(View.GONE);
Toast.makeText(con, "评价保存成功", Toast.LENGTH_SHORT).show();
hyr.startOrder(id);
hyr.getEvaluate(id);
@@ -259,7 +262,7 @@ public class StartYunDanActivity extends BaseActivity {
sv2.initView();
sv1.setScore(5);
//设置是否可以修改评分,默认为true
TextView pl_submit = v.findViewById(R.id.pl_submit);
pl_submit = v.findViewById(R.id.pl_submit);
TextView m_pl_value = v.findViewById(R.id.m_pl_value);
TextView pl_value = v.findViewById(R.id.pl_value);
if (wnb.getData() != null) {
@@ -385,8 +388,9 @@ public class StartYunDanActivity extends BaseActivity {
String wid = sdw.getId() + "";
if (sdw.getStatus() == 0) {
if (type == 0) {
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", type);
in.putExtra("reportAlct", sob.getData().getReportAlct());
in.putExtra("wid", wid);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", key);
@@ -395,15 +399,17 @@ public class StartYunDanActivity extends BaseActivity {
Toast.makeText(con, "您还没有装货", Toast.LENGTH_SHORT).show();
}
} else if (sdw.getStatus() == 1) {//装货回单
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 2);
in.putExtra("reportAlct", sob.getData().getReportAlct());
in.putExtra("wid", wid);
in.putExtra("h_type", type);
in.putExtra("sob", gson.toJson(sob));
startActivity(in);
} else if (sdw.getStatus() == 2) {//上传收货单(卸货回单)
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", 2);
in.putExtra("reportAlct", sob.getData().getReportAlct());
in.putExtra("wid", wid);
in.putExtra("h_type", type);
in.putExtra("sob", gson.toJson(sob));
@@ -421,8 +427,9 @@ public class StartYunDanActivity extends BaseActivity {
if (zInfo.getReceiptUrl() != null && zInfo.getReceiptUrl().size() > 0) {
int dis = TimeUtil.compareNowDate(TimeUtil.string2Millis(zInfo.getImageTakenDate(), TimeUtil.DEFAULT_FORMAT4));
if (dis > 5) {//大于五分钟可以接单
Intent in = new Intent(con, ShangChuangImgActivity.class);
Intent in = new Intent(con, ShangChuangImgActivityBC.class);
in.putExtra("type", type);
in.putExtra("reportAlct", sob.getData().getReportAlct());
in.putExtra("wid", wid);
in.putExtra("sob", gson.toJson(sob));
in.putExtra("keys", key);
@@ -89,6 +89,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
private int reportAlct = 1;//是否上报(安联城通) 0否 1是'
//
private Gson gson = new Gson();
//
@@ -184,6 +185,13 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}else if (reportAlct==0){
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
} else if ((0 == index || 1 == index) && isFinish) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
@@ -329,6 +337,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
reportAlct = ins.getInt("reportAlct");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
@@ -481,7 +490,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
if (1==reportAlct){
NewLJUtils.getInstance().getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnGDDownloadResultListener() {
@Override
public void onSuccess(String var1) {
@@ -506,6 +515,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
ToastUtils.showToast(con, var2);
}
});
}else{
isFinish = true;
//平台确认装货
hyr.loading(lub);
}
// MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
// @Override
// public void onSuccess(Object o) {
@@ -561,7 +576,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) {
if (keys) {
if (1==reportAlct){
NewLJUtils.getInstance().getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnGDDownloadResultListener() {
@Override
public void onSuccess(String var1) {
@@ -586,6 +601,12 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
}
});
}else {
//卸货状态-平台
isFinish = true;
hyr.dischargeCargo(lub);
}
// MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
// @Override
// public void onSuccess(Object o) {
@@ -643,7 +664,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys) {
if (1==reportAlct){
up_trafficSign();
}
// up_trafficReceipt();
// receipt_image();
}
@@ -36,16 +36,22 @@ import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.GDImage;
import com.arpa.hndahesudintocctmsdriver.bean.GDLocation;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
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.TrackInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NewLJUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
@@ -61,6 +67,8 @@ 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.dahe.mylibrary.callback.OnGDDownloadResultListener;
import com.dahe.mylibrary.callback.OnGDResultListener;
import com.dahe.mylibrary.utils.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
@@ -78,6 +86,8 @@ import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
@@ -108,6 +118,8 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private int reportAlct = 1;//是否上报(安联城通) 0否 1是'
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
@@ -119,6 +131,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
private boolean isFinish = false;
@Override
@@ -248,11 +261,34 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys) {//装货回单
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}else if (reportAlct==0){
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
} else if ((0 == index || 1 == index) && isFinish) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
finish();
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
@@ -367,6 +403,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
reportAlct = ins.getInt("reportAlct");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
@@ -374,17 +411,17 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
//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();
}
});
// 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();
@@ -414,12 +451,12 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
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;
selDate = year+"-"+month+"-"+day+'T'+hour+":"+minute+":"+second;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_HAS_SECOND);
datimePicker.show();
});
@@ -513,6 +550,10 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
switch (index) {
case 0:
//装货
@@ -523,18 +564,52 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
// if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
if (1==reportAlct){
NewLJUtils.getInstance().getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnGDDownloadResultListener() {
@Override
public void onSuccess(String var1) {
String string = var1;
if (string.equals("30")) {//安联装货,单平台未装货
isFinish = true;
//平台确认装货
hyr.loading(lub);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
// nfc();
loadInfo();
}
upLocation(tempLoca.getLatitude() + "", tempLoca.getLongitude() + "",sob.getData().getShippingNoteNumber());
// NewLJUtils.getInstance().startLocationService(ShangChuangImgActivity.this);
}
@Override
public void onFailure(String var1, String var2) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, var2);
}
});
}else{
isFinish = true;
//平台确认装货
upLocation(tempLoca.getLatitude() + "", tempLoca.getLongitude() + "",sob.getData().getShippingNoteNumber());
hyr.loading(lub);
}
}
// } else {
// if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
// customDialog.dismiss();
// }
// Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
// }
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
@@ -546,29 +621,63 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
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 (locationKey) {
if (keys) {
if (1==reportAlct){
NewLJUtils.getInstance().getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnGDDownloadResultListener() {
@Override
public void onSuccess(String var1) {
if (var1.equals("40")) {//安联装货,单平台未装货
//卸货状态-平台
isFinish = true;
hyr.dischargeCargo(lub);
} else {
nfc();
uploadInfo();
}
upLocation(tempLoca.getLatitude() + "", tempLoca.getLongitude() + "",sob.getData().getShippingNoteNumber());
// NewLJUtils.getInstance().stopLocationService();
}
@Override
public void onFailure(String var1, String var2) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, var2);
}
});
}else{
//卸货状态-平台
isFinish = true;
upLocation(tempLoca.getLatitude() + "", tempLoca.getLongitude() + "",sob.getData().getShippingNoteNumber());
hyr.dischargeCargo(lub);
}
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
// } else {
// if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
// customDialog.dismiss();
// }
// Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
// }
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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.setLatitude(tempLoca.getLatitude() + "");
urib.setLongitude(tempLoca.getLongitude() + "");
urib.setLocationAddress(tempLoca.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
@@ -576,17 +685,25 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
// if (locationKey) {
if (index == 2 && keys) {
if (1==reportAlct){
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
// up_trafficReceipt();
// receipt_image();
}
hyr.receipt(urib);
// } else {
// if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
// customDialog.dismiss();
// }
// Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
// }
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
@@ -621,7 +738,7 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
GDLocation l = new GDLocation();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
@@ -645,15 +762,18 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
NewLJUtils.getInstance().sign(con, sob.getData().getShippingNoteNumber(), l, new OnGDResultListener() {
@Override
public void onSuccess() {
// NewLJUtils.getInstance().stopLocationService();
up_trafficReceipt();
receipt_image();
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
public void onFailure(String var1, String var2) {
Log.e("上报安联失败(签收):", var1 + var2);
}
});
}
@@ -661,30 +781,28 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
GDLocation l = new GDLocation();
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() {
NewLJUtils.getInstance().pod(con, sob.getData().getShippingNoteNumber(), l, new OnGDResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
public void onFailure(String var1, String var2) {
Log.e("上报安联失败(回单):", var1 + var2);
}
});
}
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();
GDImage image = new GDImage();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
@@ -693,30 +811,51 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
NewLJUtils.getInstance().uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnGDResultListener() {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
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 onFailure(String var1, String var2) {
Log.e("上报安联失败(装货照片):", var1 + var2);
}
});
// 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();
GDImage image = new GDImage();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
@@ -725,31 +864,53 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
NewLJUtils.getInstance().uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnGDResultListener() {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
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 onFailure(String var1, String var2) {
Log.e("上报安联失败(卸货照片):", var1 + var2);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
}
});
// 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();
GDImage image = new GDImage();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
@@ -758,24 +919,23 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
NewLJUtils.getInstance().uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnGDResultListener() {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
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 onFailure(String var1, String var2) {
Log.e("上报安联失败(回单照片):", var1 + var2);
}
});
}
@@ -817,19 +977,20 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
GDLocation l = new GDLocation();
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() {
NewLJUtils.getInstance().pickUp(con, sob.getData().getShippingNoteNumber(), l, new OnGDResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
// if (sob.getData().getReport() == 1) {
// JTTProcess.start(con, sob, "");
// }
// NewLJUtils.getInstance().startLocationService(ShangChuangImgActivityBC.this);
//装货状态
hyr.loading(lub);
//装货照片
@@ -837,11 +998,39 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
public void onFailure(String var1, String var2) {
Log.e("上报安联失败(装货):", var1 + var2);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, var2);
}
});
// 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);
// }
// });
}
}
@@ -853,37 +1042,72 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
GDLocation l = new GDLocation();
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() {
NewLJUtils.getInstance().unload(con, sob.getData().getShippingNoteNumber(), l, new OnGDResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
// if (sob.getData().getReport() == 1) {
// JTTProcess.stop(con, sob, "");
// }
//卸货状态-平台
hyr.dischargeCargo4(lub);
hyr.dischargeCargo(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
// new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
public void onFailure(String var1, String var2) {
Log.e("上报安联失败(卸货):", var1 + var2);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, var2);
}
});
// 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);
// }
// });
}
}
private void upLocation(String lat,String lon,String shippingNoteNumber){
TrackInputBean tib = new TrackInputBean();
tib.setLatitude(lat);
tib.setLongitude(lon);
tib.setShippingNoteNumber(shippingNoteNumber);
hyr.trackTracking(tib);
}
}
@@ -1,900 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Message;
import android.provider.Settings;
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.OnDownloadResultListener;
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.BuildConfig;
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.bean.WaybillStatusBean;
import com.arpa.hndahesudintocctmsdriver.event.HomeWaybillEvent;
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.ui.MainActivity;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
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.dahe.mylibrary.utils.ActivityUtils;
import com.dahe.mylibrary.utils.ToastUtils;
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 org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgNewActivity 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;
private boolean isFinish = false;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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);
Glide.with(con).load(path).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");
}
if (CacheGroup.cacheList.get("waybillStatus") != null) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("waybillStatus", CacheGroup.cacheList.get("waybillStatus"));
WaybillStatusBean status = gson.fromJson(CacheGroup.cacheList.get("waybillStatus"), WaybillStatusBean.class);
if (status.getCode() == 200) {
if (status.getData() != null) {
//执行运单下一步操作
typeRequest();
} else {//订单已取消
new MessageUtils().showSimCenPop(con, "运单异常将无法进行下步操作,请返回首页", "取消", "确定", () -> {
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
ActivityUtils.finishToActivity(MainActivity.class, false);
});
}
} else {
Toast.makeText(con, status.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("waybillStatus");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
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) {//装货回单
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
} else if ((0 == index || 1 == index) && isFinish) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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 {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(ShangChuangImgNewActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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));
new MessageUtils().showSimCenPop(con, "缺少定位权限,去开启精确定位权限!", "取消", "确认", () -> {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getPackageName(), null);
intent.setData(uri);
startActivity(intent);
});
// Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
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) && !BuildConfig.isTest) {//装卸货车辆需要识别车牌号,测试环境不校验车牌号
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) {
//判断运单是否已取消
hyr.getWaybillStatus(sob.getData().getWaybillId());
// 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();
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
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();
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
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)+"");
// }
if (customDialog != null && !customDialog.isShowing()) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
}
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) {
MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
String string = o.toString();
if (string.equals("PICKUPED")) {//安联装货,单平台未装货
isFinish = true;
//平台确认装货
hyr.loading(lub);
} else {
nfc();
loadInfo();
}
}
@Override
public void onFailure(String s, String s1) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, s1);
}
});
// nfc();
// loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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) {
MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
if (o.toString().equals("UNLOADED")) {//安联装货,单平台未装货
//卸货状态-平台
isFinish = true;
hyr.dischargeCargo(lub);
} else {
nfc();
uploadInfo();
}
}
@Override
public void onFailure(String s, String s1) {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
ToastUtils.showToast(con, s1);
}
});
// nfc();
// uploadInfo();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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 {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
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() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
EventBus.getDefault().post(new HomeWaybillEvent());
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
// 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() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
SPUtils.remove(con, "curWaybillId");
EventBus.getDefault().post(new HomeWaybillEvent());
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);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
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);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
}
@@ -11,6 +11,7 @@ import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.util.Log;
@@ -68,6 +69,7 @@ public class LoginActivity extends BaseActivity {
public static final String USER = "user";
public static final String USER_TOKEN = "token";
public static final String USER_UNAME = "uname";
public static final String USER_PHONE = "USER_PHONE";
public static final String USER_RNAME = "rname";
public static final String USER_ID = "id";
@@ -113,6 +115,7 @@ public class LoginActivity extends BaseActivity {
NewLJUtils.getInstance().getToken(con);
SPUtil.insSP(con, USER, USER_TOKEN, loginBean.getData().getToken());
SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname());
SPUtil.insSP(con, USER, USER_PHONE, loginBean.getData().getRegisterPhone());
SPUtil.insSP(con, USER, USER_RNAME, loginBean.getData().getRname());
SPUtil.insSP(con, USER, USER_ID, loginBean.getData().getId() + "");
// JPushInterface.setAlias(con, 0, loginBean.getData().getUname());
@@ -155,6 +158,10 @@ public class LoginActivity extends BaseActivity {
getCode = findViewById(R.id.getCode);
cb = findViewById(R.id.cb);
ur = new UserRequset(con, hd);
String phone = SPUtil.getSP(con, LoginActivity.USER, LoginActivity.USER_PHONE);
if (!TextUtils.isEmpty(phone)){
input_phone.setText(phone);
}
initView(null);
}
@@ -16,7 +16,6 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.bean.UpAppBean;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
@@ -27,7 +26,6 @@ import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.ui.alert.UpAppAlert;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.NewLJUtils;
import com.arpa.hndahesudintocctmsdriver.util.PicturlUtil;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ImageLoader;
@@ -232,14 +232,14 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
}
public void submit() {
customDialog = new CustomDialog(con, "上传中,请稍后...");
customDialog.show();
String bankName = bank_name.getText().toString().trim();
String bankNumber = bank_number.getText().toString().trim();
if ("".equals(bankName) || "".equals(bankNumber)) {
Toast.makeText(con, "请先补充完整的银行卡信息", Toast.LENGTH_LONG).show();
return;
}
customDialog = new CustomDialog(con, "上传中,请稍后...");
customDialog.show();
InsBankInputBean ibib = new InsBankInputBean();
ibib.setCardNo(bankNumber);
// ibib.setCardType(Integer.parseInt(ib.getData().getType()));
@@ -11,6 +11,7 @@ import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.App;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.DriverAuthDataBean;
import com.arpa.hndahesudintocctmsdriver.bean.GDImage;
import com.arpa.hndahesudintocctmsdriver.bean.GDLocation;
@@ -41,6 +42,8 @@ import com.express.mdp.Callback;
import com.google.gson.Gson;
import java.util.Arrays;
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
import io.reactivex.rxjava3.schedulers.Schedulers;
@@ -84,6 +87,7 @@ public class NewLJUtils {
/**
* 刷新token
*
* @param ctx
*/
public void refreshToken(Context ctx) {
@@ -155,7 +159,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单提货操作异常" : t.getMessage());
}
}
}));
@@ -200,7 +204,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单卸货操作异常" : t.getMessage());
}
}
}));
@@ -245,7 +249,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单签收操作异常" : t.getMessage());
}
}
}));
@@ -290,7 +294,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单回单操作异常" : t.getMessage());
}
}
}));
@@ -335,7 +339,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单提货照片操作异常" : t.getMessage());
}
}
}));
@@ -380,7 +384,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单卸货照片操作异常" : t.getMessage());
}
}
}));
@@ -425,7 +429,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单回单照片操作异常" : t.getMessage());
}
}
}));
@@ -509,7 +513,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "同意发票异常" : t.getMessage());
}
}
}));
@@ -613,7 +617,7 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null) {
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode() + "", TextUtils.isEmpty(t.getMessage()) ? "运单状态查询异常" : t.getMessage());
}
}
}));
@@ -656,10 +660,13 @@ public class NewLJUtils {
public void onSuccess(String var1) {
try {
//开启定位服务
if (BuildConfig.isTest) {
Api.setBaseUrl("https://kehui56.cn/api", "https://api.kehui56.cn/api");
}
String result = Api.startLocationService(act, var1, s -> {
Log.e("位置上报", s);
});
System.out.println(result);
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -751,7 +758,51 @@ public class NewLJUtils {
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null)
listener.onFailure(t.getCode(), TextUtils.isEmpty(t.getMessage())?"运单操作异常":t.getMessage());
listener.onFailure(t.getCode(), TextUtils.isEmpty(t.getMessage()) ? "司机异常请联系管理员" : t.getMessage());
}
}));
}
/**
* 人车绑定关系
* @param ctx
* @param idCard
* @param listener
*/
public void trucks(Context ctx, String idCard,String carNum, OnGDDownloadResultListener listener){
DataManager.getInstance().trucks(idCard)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new BaseObserver(ctx, new RxHttpCallBack<CommonResponseBean>() {
@Override
public void onSuccess(CommonResponseBean<CommonResponseBean> t) {
super.onSuccess(t);
String[] licensePlateNos = t.getLicensePlateNos();
if (listener!=null){
if (licensePlateNos.length==0){
listener.onFailure(t.getCode(), "该司机暂未绑定任何车辆");
}else{
boolean isHasCar = false;
for (int i = 0; i < licensePlateNos.length; i++) {
if (licensePlateNos[i].equals(carNum)){
isHasCar = true;
break;
}
}
if (isHasCar){
listener.onSuccess("人车绑定正常");
}else{
listener.onFailure(t.getCode(), "司机车辆绑定异常");
}
}
}
}
@Override
public void onCodeError(Context mContext, CommonResponseBean<CommonResponseBean> t) {
super.onCodeError(mContext, t);
if (listener != null)
listener.onFailure(t.getCode(), TextUtils.isEmpty(t.getMessage()) ? "司机异常" : t.getMessage());
}
}));
}
@@ -1,82 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<RelativeLayout
android:id="@+id/rl_title"
android:layout_width="match_parent"
android:layout_height="44dp"
>
<ImageView
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:padding="5dp"
android:layout_marginLeft="10dp"
android:src="@mipmap/btn_back" />
<TextView
android:id="@+id/close"
android:layout_toRightOf="@id/back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="关闭" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:ellipsize="end"
android:layout_marginLeft="70dp"
android:layout_marginRight="60dp"
android:gravity="center_vertical"
android:textSize="17sp"
android:textColor="@color/color_333333"
android:text="人脸识别" />
</RelativeLayout>
<com.esign.esignsdk.h5.view.X5WebView
android:id="@+id/webview"
android:layout_below="@id/rl_title"
app:layout_constraintTop_toBottomOf="@id/rl_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<LinearLayout
android:id="@+id/ll_exception"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_white"
android:layout_below="@id/rl_title"
android:orientation="vertical"
android:visibility="gone"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp"
android:layout_gravity="center_horizontal"
android:layout_centerHorizontal="true"
android:src="@mipmap/icon_exception"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:textSize="16sp"
android:textColor="@color/color_282828"
android:text="@string/exception_tips"
android:gravity="center_horizontal"/>
</LinearLayout>
</RelativeLayout>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

@@ -0,0 +1,23 @@
package com.arpa.hndahesudintocctmsdriver;
import android.util.Log;
import org.junit.Test;
import java.math.BigDecimal;
/**
* @author hlh
* @version 1.0.0
* @date 2021/10/12 16:53
* @description:
*/
public class test1 {
@Test
public void te(){
String s = new BigDecimal("100.000").subtract(new BigDecimal("5")).toString();
Log.i("",s);
}
}
+41 -5
View File
@@ -1,9 +1,45 @@
plugins {
id 'com.android.application' version '7.2.2' apply false
id 'com.android.library' version '7.2.2' apply false
id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: "compile.gradle"
buildscript {
// ext.kotlin_version = "1.5.0"
ext.kotlin_version = "1.6.10"
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
google()
jcenter() // 这个
mavenCentral()
maven { url 'http://developer.huawei.com/repo/'}
maven { url 'https://repo1.maven.org/maven2/' }
maven {
url 'https://maven.aliyun.com/repository/releases'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.huawei.agconnect:agcp:1.4.1.300'
}
}
allprojects {
repositories {
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
google()
jcenter() // Warning: this repository is going to shut down soon
mavenCentral()
maven {url 'http://developer.huawei.com/repo/'}
maven { url 'https://www.jitpack.io' }
maven { url 'https://repo1.maven.org/maven2/' }
maven {
url 'https://maven.aliyun.com/repository/releases'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
+1 -2
View File
@@ -1,7 +1,6 @@
#Mon Jul 12 10:16:49 CST 2021
distributionBase=GRADLE_USER_HOME
#distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.3.3-bin.zip
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-6.7.1-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
+1 -1
View File
@@ -35,7 +35,7 @@ android {
dependencies {
// implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.3.1'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
@@ -21,6 +21,16 @@ public class CommonResponseBean<T> implements Serializable {
private String statusCode;
private boolean success;
private String[] LicensePlateNos;
public String[] getLicensePlateNos() {
return LicensePlateNos;
}
public void setLicensePlateNos(String[] licensePlateNos) {
LicensePlateNos = licensePlateNos;
}
private DriverBean driver;
public DriverBean getDriver() {
@@ -0,0 +1,112 @@
package com.dahe.mylibrary.utils;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.provider.Settings;
/**
* @ClassName PermissionUtils
* @Author john
* @Date 2024/12/19 14:59
* @Description TODO
*/
public class PermissionUtils {
// 私有静态实例,防止被外部实例化
private static PermissionUtils instance;
// 私有构造方法,防止通过 new 关键字创建实例
private PermissionUtils() {
}
// 获取单例实例
public static PermissionUtils getInstance() {
if (instance == null) {
synchronized (PermissionUtils.class) {
if (instance == null) {
instance = new PermissionUtils();
}
}
}
return instance;
}
/**
* 根据不同手机机型跳转到权限设置页面
*
* @param context 上下文
*/
public void goToAppPermissionSettings(Context context) {
Intent intent = new Intent();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (Build.FINGERPRINT.startsWith("Huawei") || Build.BRAND.startsWith("Huawei")) {
// 华为手机
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
} else if (Build.FINGERPRINT.startsWith("Xiaomi") || Build.BRAND.startsWith("Xiaomi")) {
// 小米手机
intent.setAction(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
Uri uri = Uri.parse("package:" + context.getPackageName());
intent.setData(uri);
} else if (Build.BRAND.equals("Meizu")) {
// 魅族手机
intent.setAction("com.meizu.safe.security.SHOW_APPSEC");
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra("packageName", context.getPackageName());
} else if (Build.FINGERPRINT.startsWith("OPPO") || Build.BRAND.startsWith("OPPO")) {
// OPPO手机
try {
String pkgName = context.getPackageName();
String className = "com.coloros.safecenter.permission.PermissionManagerActivity";
intent.setClassName("com.coloros.safecenter", className);
intent.putExtra("packageName", pkgName);
intent.putExtra("appName", context.getResources().getString(context.getApplicationInfo().labelRes));
intent.putExtra("opType", "4"); // 4 表示权限管理页面
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
} catch (Exception e) {
// 如果找不到OPPO的特定页面,则使用通用页面
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
}
} else if (Build.FINGERPRINT.startsWith("vivo") || Build.BRAND.startsWith("vivo")) {
// vivo手机
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
} else if (Build.BRAND.equals("samsung")) {
// 三星手机
try {
String pkgName = context.getPackageName();
Intent intent2 = new Intent("android.settings.APPLICATION_DETAILS_SETTINGS");
intent2.addCategory(Intent.CATEGORY_DEFAULT);
intent2.setData(Uri.parse("package:" + pkgName));
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent2.putExtra("com.android.providers.media.EXTRA_APP_PACKAGE", pkgName);
context.startActivity(intent2);
return; // 使用三星特定的页面,不需要继续执行通用代码
} catch (Exception e) {
// 如果三星特定页面失败,则使用通用页面
}
} else {
// 其他手机使用通用页面
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra(Settings.EXTRA_APP_PACKAGE, context.getPackageName());
}
} else {
// 低于Android 6.0(M)的版本,使用通用页面
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", context.getPackageName(), null);
intent.setData(uri);
}
context.startActivity(intent);
}
}
@@ -307,6 +307,27 @@ public final class TimeUtil {
return format.format(date);
}
/**
* 验证时间字符串是否是yyyy-MM-dd格式
*
* @param dateStr 需要验证的时间字符串
* @return 如果是yyyy-MM-dd格式,返回true;否则返回false
*/
public static boolean isValidDate(String dateStr) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
sdf.setLenient(false); // 设置不宽容,严格解析
try {
Date date = sdf.parse(dateStr);
// 可以进一步验证解析后的日期是否合法(例如:检查月份天数、闰年等)
// 但对于简单的格式验证,这一步通常不是必需的
return true;
} catch (ParseException e) {
return false;
}
}
/**
* 将Date类型转为时间戳
*
-24
View File
@@ -1,27 +1,3 @@
pluginManagement {
repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url "https://jitpack.io" }
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url "https://jitpack.io" }
google()
mavenCentral()
}
}
rootProject.name = "wangluohuoyun"
include ':app'
//include ':AliyunVideoCommon'