Merge branch 'newlj2' into newlj2toyybc

This commit is contained in:
2024-12-31 16:41:00 +08:00
16 changed files with 365 additions and 64 deletions
@@ -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());
}
}));
}
}