Merge branch 'newlj2' into newlj2toyybc
This commit is contained in:
commit
66b581c296
@ -38,8 +38,8 @@ android {
|
||||
applicationId "com.arpa.hndahesudintocctmsdriver"
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 30
|
||||
versionCode 76
|
||||
versionName "3.4.6"
|
||||
versionCode 77
|
||||
versionName "3.4.7"
|
||||
flavorDimensions "CHANNEL_VALUE"
|
||||
flavorDimensions "app_icon"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -55,15 +55,15 @@ class MessagePop(context: Context) : CenterPopupView(context), View.OnClickListe
|
||||
}
|
||||
R.id.tvOk,R.id.tvPhone -> {
|
||||
dismiss()
|
||||
if (XPermission.create(context).isGranted(Manifest.permission.CALL_PHONE)){
|
||||
// if (XPermission.create(context).isGranted(Manifest.permission.CALL_PHONE)){
|
||||
val toString = tvPhone.text.toString()
|
||||
val intent = Intent(Intent.ACTION_DIAL)
|
||||
val data = Uri.parse("tel:$toString")
|
||||
intent.data = data
|
||||
context.startActivity(intent)
|
||||
}else{
|
||||
ToastUtils.showToast(context,"请开启电话权限")
|
||||
}
|
||||
// }else{
|
||||
// ToastUtils.showToast(context,"请开启电话权限")
|
||||
// }
|
||||
|
||||
// BaseUtils.callPhone(content as Activity, tvPhone.text.toString())
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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());
|
||||
iib.setStartTime(odl.getData().getBeginDate());
|
||||
|
||||
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());
|
||||
|
@ -731,6 +731,7 @@ public class HomeFragment extends BaseFragment {
|
||||
if (zStatus == 0) {//未装货
|
||||
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);
|
||||
@ -738,6 +739,7 @@ public class HomeFragment extends BaseFragment {
|
||||
} else if (zStatus == 1 && xStatus == 4) {//已装货未上传回单
|
||||
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));
|
||||
@ -747,6 +749,7 @@ public class HomeFragment extends BaseFragment {
|
||||
if (dis > 5) {//大于五分钟可以接单
|
||||
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);
|
||||
@ -758,6 +761,7 @@ public class HomeFragment extends BaseFragment {
|
||||
} else if (zStatus == 3 && xStatus == 2) {//已卸货,未上传卸货回单
|
||||
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));
|
||||
|
@ -94,6 +94,9 @@ 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) {
|
||||
@ -189,6 +192,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;
|
||||
|
||||
@ -316,12 +321,25 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
|
||||
//
|
||||
ImageButton xuanze = v.findViewById(R.id.xuanze);
|
||||
|
||||
if (hyd!=null&&hyd.getData()!=null&& !TextUtils.isEmpty(hyd.getData().getCarNumber())){
|
||||
cid = hyd.getData().getCarId();
|
||||
car.setText("选择车辆:" + hyd.getData().getCarNumber());
|
||||
}else if (clb != null && clb.getData().size() == 1) {
|
||||
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) {
|
||||
@ -412,7 +430,7 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
|
||||
|
||||
UiAuxiliary.homeRequest("接单");
|
||||
Intent in = new Intent(con, StartYunDanActivity.class);
|
||||
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
|
||||
in.putExtra("id", "0");
|
||||
startActivity(in);
|
||||
finish();
|
||||
@ -501,8 +519,13 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
|
||||
if (allGranted) {
|
||||
customDialog = new CustomDialog(con, "正在接单...");
|
||||
customDialog.show();
|
||||
//验证安联用户是否通过
|
||||
ALProcess.verification(con, hd);
|
||||
if ("0".equals(currOutInvoice)){
|
||||
//验证安联用户是否通过
|
||||
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 +545,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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -388,6 +388,7 @@ public class StartYunDanActivity extends BaseActivity {
|
||||
if (type == 0) {
|
||||
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);
|
||||
@ -398,6 +399,7 @@ public class StartYunDanActivity extends BaseActivity {
|
||||
} else if (sdw.getStatus() == 1) {//装货回单
|
||||
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));
|
||||
@ -405,6 +407,7 @@ public class StartYunDanActivity extends BaseActivity {
|
||||
} else if (sdw.getStatus() == 2) {//上传收货单(卸货回单)
|
||||
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));
|
||||
@ -424,6 +427,7 @@ public class StartYunDanActivity extends BaseActivity {
|
||||
if (dis > 5) {//大于五分钟可以接单
|
||||
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,31 +490,37 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
|
||||
Log.e("--装货信息", gson.toJson(lub));
|
||||
if (locationKey) {//高德定位
|
||||
if (keys) {
|
||||
|
||||
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 {
|
||||
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 {
|
||||
// nfc();
|
||||
loadInfo();
|
||||
}
|
||||
upLocation(lgdu.getLatitude() + "", lgdu.getLongitude() + "",sob.getData().getShippingNoteNumber());
|
||||
loadInfo();
|
||||
}
|
||||
upLocation(lgdu.getLatitude() + "", lgdu.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);
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void onFailure(String var1, String var2) {
|
||||
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
|
||||
customDialog.dismiss();
|
||||
}
|
||||
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,30 +576,36 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
|
||||
Log.e("--卸货信息", gson.toJson(lub));
|
||||
if (locationKey) {
|
||||
if (keys) {
|
||||
|
||||
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(lgdu.getLatitude() + "", lgdu.getLongitude() + "",sob.getData().getShippingNoteNumber());
|
||||
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(lgdu.getLatitude() + "", lgdu.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);
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public void onFailure(String var1, String var2) {
|
||||
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
|
||||
customDialog.dismiss();
|
||||
}
|
||||
ToastUtils.showToast(con, var2);
|
||||
}
|
||||
});
|
||||
|
||||
}else {
|
||||
//卸货状态-平台
|
||||
isFinish = true;
|
||||
hyr.dischargeCargo(lub);
|
||||
}
|
||||
|
||||
// MDPLocationCollectionManager.getShipmentStatus(con, sob.getData().getShippingNoteNumber(), new OnDownloadResultListener() {
|
||||
// @Override
|
||||
@ -643,7 +664,9 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
|
||||
Log.e("--回单信息", gson.toJson(urib));
|
||||
if (locationKey) {
|
||||
if (index == 2 && keys) {
|
||||
up_trafficSign();
|
||||
if (1==reportAlct){
|
||||
up_trafficSign();
|
||||
}
|
||||
// up_trafficReceipt();
|
||||
// receipt_image();
|
||||
}
|
||||
|
@ -42,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;
|
||||
|
||||
@ -761,4 +763,48 @@ public class NewLJUtils {
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 人车绑定关系
|
||||
* @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());
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -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类型转为时间戳
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user