Compare commits

..
11 Commits
Author SHA1 Message Date
lijia 9620f13b42 日常 2024-03-11 15:15:34 +08:00
lijia ea649da8dd 拍照bug修复2 2024-01-19 17:52:43 +08:00
lijia edf3f494da 拍照bug修复添加弹框 2024-01-17 10:39:01 +08:00
lijia 2bdf0d45dc 补传添加时间地点非空判断 2023-10-26 09:21:13 +08:00
lijia 725860544a 取消运营版本更新代码 2023-10-23 09:25:19 +08:00
lijia befc5419a2 多渠道高德key动态切换运营 2023-10-16 14:43:26 +08:00
lijia f0778a34e3 Merge branch 'master' into manyflavors 2023-10-16 14:38:57 +08:00
lijia fbe1492800 多渠道定位修复 2023-10-16 09:52:13 +08:00
lijia b5fb6bec07 多渠道bug修复 2023-10-16 09:22:08 +08:00
lijia 80c67f9c79 多渠道运营图标名称以及优化 2023-10-12 16:57:08 +08:00
lijia 932a33f3d1 多渠道运营开发测试 2023-10-12 16:48:18 +08:00
60 changed files with 2093 additions and 1640 deletions
+23 -7
View File
@@ -35,10 +35,10 @@ android {
defaultConfig {
applicationId "com.arpa.hndahesudintocctmsdriver"
minSdkVersion 24
minSdkVersion 23
targetSdkVersion 30
versionCode 68
versionName "3.3.8"
versionCode 60
versionName "3.3.0"
flavorDimensions "CHANNEL_VALUE"
flavorDimensions "app_icon"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -101,11 +101,11 @@ android {
app_icon : "@drawable/diver_logo_text",
GAODEKEY : "6791d69f6221a0841b521763af86eb01",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi-staging.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"https://app.test.dahehuoyun.com/api/\"")
buildConfigField("String", "BASE_URL", "\"http://app.test.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "true"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机测试"
@@ -114,9 +114,9 @@ android {
applicationId "com.arpa.hndahesudintocctmsdriver"
manifestPlaceholders = [CHANNEL_VALUE: "大河好运司机",
app_icon : "@drawable/diver_logo",
GAODEKEY : "9480fd96746922630e9bf6c75a101059",
GAODEKEY : "78019612271411eca3af34db91930620",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "fba6f55621c670d8c1fe9191", //JPush 上注册的包名对应的 Appkey.
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
@@ -126,6 +126,22 @@ android {
resValue "string", "appName", "大河好运司机"
}
productbc {
applicationId "com.arpa.hndahesudintocctmsdriver.bc"
manifestPlaceholders = [CHANNEL_VALUE: "司机运营",
app_icon : "@drawable/diver_logo_yunying",
GAODEKEY : "f960bc6d14788238918bd014fa08a870",
JPUSH_PKGNAME: applicationId,
JPUSH_APPKEY : "571d93ae5117da6dee848c92", //JPush 上注册的包名对应的 Appkey.
JPUSH_CHANNEL: "developer-default"//暂时填写默认值即可.
]
buildConfigField("String", "OPEN_AL_URL", "\"https://oapi.alct56.com\"")
buildConfigField("String", "BASE_URL", "\"http://app.dahehuoyun.com/api/\"")
buildConfigField "boolean", "isTest", "false"
//APP名称,可以在androidMainfest中引用
resValue "string", "appName", "司机运营"
}
}
// productFlavors.all { flavor ->
// flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
+6 -10
View File
@@ -53,7 +53,7 @@
android:name="com.arpa.hndahesudintocctmsdriver.App"
android:allowBackup="true"
android:excludeFromRecents="true"
android:icon="@mipmap/diver_logo"
android:icon="${app_icon}"
android:label="@string/appName"
android:largeHeap="true"
android:requestLegacyExternalStorage="true"
@@ -93,13 +93,13 @@
android:screenOrientation="portrait" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.PhotoCarActivity"
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait" />
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.VehicleAuthActivity"
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
android:screenOrientation="portrait">
<intent-filter>
@@ -110,10 +110,8 @@
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivityBC"
</activity> <activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity"
android:screenOrientation="portrait">
<intent-filter>
@@ -161,7 +159,6 @@
</activity>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity"
android:windowSoftInputMode="adjustPan|stateHidden"
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.auth.AddCarSuccActivity"
@@ -171,7 +168,6 @@
android:screenOrientation="portrait"/>
<activity
android:name="com.arpa.hndahesudintocctmsdriver.ui.login.WelcomeActivity"
android:exported="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -277,7 +273,7 @@
<!-- 极光-->
<meta-data
android:name="JPUSH_APPKEY"
android:value="fba6f55621c670d8c1fe9191" /> <!-- </>值来自开发者平台取得的AppKey -->
android:value="571d93ae5117da6dee848c92" /> <!-- </>值来自开发者平台取得的AppKey -->
<meta-data
android:name="JPUSH_CHANNEL"
@@ -1,157 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.bean;
import android.os.Build;
import android.provider.Settings;
import androidx.activity.result.contract.ActivityResultContracts;
import com.arpa.hndahesudintocctmsdriver.App;
import com.dahe.mylibrary.utils.AppUtils;
import java.util.Locale;
/**
* @ClassName AppInfoBean
* @Author john
* @Date 2024/7/22 15:31
* @Description TODO
*/
public class AppInfoBean {
private String userPhone;
private String macIpaddr = Settings.Secure.getString(App.getApp().getContentResolver(),Settings.Secure.ANDROID_ID);
// private String macIpaddr = android.os.Build.ID;
private String clientSource = "driver";
private String status = "";
private String mobilePhoneManufacturerName = android.os.Build.BRAND;
private String mobilePhoneProductName = android.os.Build.MODEL;
private String mobilePhoneMotherboardName = android.os.Build.BOARD;
private String mobilePhoneHardwareName = android.os.Build.DEVICE;
private String mobilePhoneMachineSystemLanguage = Locale.getDefault().getLanguage();
private String androidVersion=android.os.Build.VERSION.RELEASE;
private String androidSystemSdk = android.os.Build.VERSION.SDK_INT+"";
private String appVersionName = AppUtils.getAppVersionName();
private String appVersionNumber = AppUtils.getAppVersionCode()+"";
public String getUserPhone() {
return userPhone;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getMacIpaddr() {
return macIpaddr;
}
public void setMacIpaddr(String macIpaddr) {
this.macIpaddr = macIpaddr;
}
public String getClientSource() {
return clientSource;
}
public void setClientSource(String clientSource) {
this.clientSource = clientSource;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getMobilePhoneManufacturerName() {
return mobilePhoneManufacturerName;
}
public void setMobilePhoneManufacturerName(String mobilePhoneManufacturerName) {
this.mobilePhoneManufacturerName = mobilePhoneManufacturerName;
}
public String getMobilePhoneProductName() {
return mobilePhoneProductName;
}
public void setMobilePhoneProductName(String mobilePhoneProductName) {
this.mobilePhoneProductName = mobilePhoneProductName;
}
public String getMobilePhoneMotherboardName() {
return mobilePhoneMotherboardName;
}
public void setMobilePhoneMotherboardName(String mobilePhoneMotherboardName) {
this.mobilePhoneMotherboardName = mobilePhoneMotherboardName;
}
public String getMobilePhoneHardwareName() {
return mobilePhoneHardwareName;
}
public void setMobilePhoneHardwareName(String mobilePhoneHardwareName) {
this.mobilePhoneHardwareName = mobilePhoneHardwareName;
}
public String getMobilePhoneMachineSystemLanguage() {
return mobilePhoneMachineSystemLanguage;
}
public void setMobilePhoneMachineSystemLanguage(String mobilePhoneMachineSystemLanguage) {
this.mobilePhoneMachineSystemLanguage = mobilePhoneMachineSystemLanguage;
}
public String getAndroidVersion() {
return androidVersion;
}
public void setAndroidVersion(String androidVersion) {
this.androidVersion = androidVersion;
}
public String getAndroidSystemSdk() {
return androidSystemSdk;
}
public void setAndroidSystemSdk(String androidSystemSdk) {
this.androidSystemSdk = androidSystemSdk;
}
public String getAppVersionName() {
return appVersionName;
}
public void setAppVersionName(String appVersionName) {
this.appVersionName = appVersionName;
}
public String getAppVersionNumber() {
return appVersionNumber;
}
public void setAppVersionNumber(String appVersionNumber) {
this.appVersionNumber = appVersionNumber;
}
@Override
public String toString() {
return "AppInfoBean{" +
"userPhone='" + userPhone + '\'' +
", macIpaddr='" + macIpaddr + '\'' +
", clientSource='" + clientSource + '\'' +
", status='" + status + '\'' +
", mobilePhoneManufacturerName='" + mobilePhoneManufacturerName + '\'' +
", mobilePhoneProductName='" + mobilePhoneProductName + '\'' +
", mobilePhoneMotherboardName='" + mobilePhoneMotherboardName + '\'' +
", mobilePhoneHardwareName='" + mobilePhoneHardwareName + '\'' +
", mobilePhoneMachineSystemLanguage='" + mobilePhoneMachineSystemLanguage + '\'' +
", androidVersion='" + androidVersion + '\'' +
", androidSystemSdk='" + androidSystemSdk + '\'' +
", appVersionName='" + appVersionName + '\'' +
", appVersionNumber='" + appVersionNumber + '\'' +
'}';
}
}
@@ -66,11 +66,6 @@ public class CarDelBean {
private String owner;
private String roadLicense;
private String roadLicensePhoto;
private String trailerLicenseId;
private String policyPhotoUrl;
private String insuranceCompany;
private String insuranceEndDay;
private String roadLicenseSend;
private String roadLicenseValidity;
private String threeImage;
@@ -84,14 +79,6 @@ public class CarDelBean {
private String carPlateColorValue;
private String needUpQCPhoto;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getNeedUpQCPhoto() {
return needUpQCPhoto;
}
@@ -108,30 +95,6 @@ public class CarDelBean {
this.carPlateColorValue = carPlateColorValue;
}
public String getPolicyPhotoUrl() {
return policyPhotoUrl == null ? "" : policyPhotoUrl;
}
public void setPolicyPhotoUrl(String policyPhotoUrl) {
this.policyPhotoUrl = policyPhotoUrl;
}
public String getInsuranceCompany() {
return insuranceCompany == null ? "" : insuranceCompany;
}
public void setInsuranceCompany(String insuranceCompany) {
this.insuranceCompany = insuranceCompany;
}
public String getInsuranceEndDay() {
return insuranceEndDay == null ? "" : insuranceEndDay;
}
public void setInsuranceEndDay(String insuranceEndDay) {
this.insuranceEndDay = insuranceEndDay;
}
public String getCarEnergyTypValue() {
return carEnergyTypValue;
}
@@ -308,15 +271,6 @@ public class CarDelBean {
private String threeImage;
private String type;
private String vehicleNumber;
private String trailerLicenseId;
public String getTrailerLicenseId() {
return trailerLicenseId;
}
public void setTrailerLicenseId(String trailerLicenseId) {
this.trailerLicenseId = trailerLicenseId;
}
public String getBackImage() {
return backImage == null ? "" : backImage;
@@ -48,33 +48,6 @@ public class DriverExpireBean {
public static class DataDTO {
private String driverLicenseUpdateUrl;
private String idCardUpdateUrl;
private String qualificationUpdateUrl;
private String roadLicenseUpdateUrl;
private String insuranceUpdateUrl;
public String getRoadLicenseUpdateUrl() {
return roadLicenseUpdateUrl;
}
public void setRoadLicenseUpdateUrl(String roadLicenseUpdateUrl) {
this.roadLicenseUpdateUrl = roadLicenseUpdateUrl;
}
public String getInsuranceUpdateUrl() {
return insuranceUpdateUrl;
}
public void setInsuranceUpdateUrl(String insuranceUpdateUrl) {
this.insuranceUpdateUrl = insuranceUpdateUrl;
}
public String getQualificationUpdateUrl() {
return qualificationUpdateUrl;
}
public void setQualificationUpdateUrl(String qualificationUpdateUrl) {
this.qualificationUpdateUrl = qualificationUpdateUrl;
}
public String getDriverLicenseUpdateUrl() {
return driverLicenseUpdateUrl;
@@ -59,7 +59,6 @@ public class OCRVehicleBackLicenseBean {
private int id;
private String url;
private String checkRecord;
private String isSave;
private String approvedCapacity;
private String allCapacity;
private String size;
@@ -72,14 +71,6 @@ public class OCRVehicleBackLicenseBean {
private String carNumber;
private int licenseId;
public String getIsSave() {
return isSave;
}
public void setIsSave(String isSave) {
this.isSave = isSave;
}
public int getLicenseId() {
return licenseId;
}
@@ -49,9 +49,7 @@ public class OCRVehicleLicenseBean {
private String address;
private int carId;
private String carNumber;
private boolean carExist;
private String dateIssue;
private String backImage;
private String engineNumber;
private int id;
private String model;
@@ -62,41 +60,6 @@ public class OCRVehicleLicenseBean {
private String type;
private String url;
private String vehicleNumber;
private String licenseId;
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
private DataDto2 existCarInfo;
public DataDto2 getExistCarInfo() {
return existCarInfo;
}
public void setExistCarInfo(DataDto2 existCarInfo) {
this.existCarInfo = existCarInfo;
}
public boolean isCarExist() {
return carExist;
}
public String getBackImage() {
return backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public void setCarExist(boolean carExist) {
this.carExist = carExist;
}
public String getAddress() {
return address == null ? "" : address;
@@ -210,44 +173,4 @@ public class OCRVehicleLicenseBean {
this.vehicleNumber = vehicleNumber;
}
}
public static class DataDto2 {
private String backImage;
private String carId;
private String licenseId;
private CarDelBean.DataDTO trailerResVo;
public CarDelBean.DataDTO getTrailerResVo() {
return trailerResVo;
}
public void setTrailerResVo(CarDelBean.DataDTO trailerResVo) {
this.trailerResVo = trailerResVo;
}
public String getLicenseId() {
return licenseId;
}
public void setLicenseId(String licenseId) {
this.licenseId = licenseId;
}
public String getBackImage() {
return backImage == null ? "" : backImage;
}
public void setBackImage(String backImage) {
this.backImage = backImage;
}
public String getCarId() {
return carId;
}
public void setCarId(String carId) {
this.carId = carId;
}
}
}
@@ -1,21 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.event;
/**
* @author hlh
* @version 1.0.0
* @date 2021/11/2 18:51
* @description:
*/
public class RefreshCarListEvent {
private String message;
public RefreshCarListEvent(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
@@ -124,17 +124,6 @@ public class AuthRequest {
RequestUtil.start(1, "saveCarRoadLicenseNo", re, con, hd);
}
//车辆交强保险
public void saveTrafficInsurance(Context con, Handler hd, String id, String insuranceEndDay, String insuranceCompany) {
String mt = "{\n" +
"\t\"carId\": \"" + id + "\",\n" +
"\t\"insuranceEndDay\": \"" + insuranceEndDay + "\",\n" +
"\t\"insuranceCompany\": \"" + insuranceCompany + "\",\n" +
"}";
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getTrafficInsurance(), mt), getToken(con), con);
RequestUtil.start(1, "saveTrafficInsurance", re, con, hd);
}
//获取资格证认证信息
public void isDriverAuthQualification(Context con, Handler hd) {
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getIsAuthDriverAuthQualification(), ""), getToken(con), con);
@@ -1,5 +1,6 @@
package com.arpa.hndahesudintocctmsdriver.request;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.TrackInputBean;
@@ -8,7 +9,6 @@ import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYuanFragmengt;
import com.arpa.hndahesudintocctmsdriver.ui.home.HuoYunDelActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.StartYunDanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.login.LoginActivity;
import com.arpa.hndahesudintocctmsdriver.util.map.MapUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -49,8 +49,8 @@ public class OCRRequest {
RequestUtil.start(12, CertificatesActivity.TYPE_NAME[2],re,con,hd);
}
//行驶证背面识别
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum,boolean isSave){
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum,isSave);
public void OCRVehicleLicenseBack(Context con, Handler hd, File file,String carId,String carNum){
Request re = OkHttpUtil.postFiles(new OkDate(RequestConstant.getVehicleLicenseBack()),file,getToken(con),carId,carNum);
RequestUtil.start(12, CertificatesActivity.TYPE_NAME_BANK[2],re,con,hd);
}
@@ -86,7 +86,7 @@ public class RequestConstant {
//车辆详情
private static final String GET_CAR_DEL = "/app/carDriver/getCarInfo";
//删除车辆
private static final String DEL_CAR = "/app/carDriver/unBindCar";
private static final String DEL_CAR = "/app/carDriver/removeCar";
//上传车辆照片
private static final String SAVECARIMG = "/app/carDriver/saveCarImg";
//上传头像保存
@@ -130,9 +130,6 @@ public class RequestConstant {
private static final String DRIVER_AUTH_SAVECARREGISTERNO = "/app/carDriver/saveCarRegisterNo";
//道路运输信息
private static final String DRIVER_AUTH_SAVECARROADLICENSENO = "/app/carDriver/saveCarRoadLicenseNo";
//交强险
private static final String DRIVER_TRAFFIC_INSU = "/app/carDriver/saveCarInsurace";
//党员认证
private static final String PARTY_MEMBER = "/app/user/partyMember";
//实名认证
@@ -162,16 +159,11 @@ public class RequestConstant {
//车辆自动审核触发器
private static final String CAR_AUDIT = "/app/carDriver/carAutomaticAudit";
private static final String APP_INFO = "/common/app/logininfor";
public static String getCarAudit() {
return BASE_URL + CAR_AUDIT;
}
public static String postAppInfo() {
return BASE_URL + APP_INFO;
}
public static String getCarColor() {
return BASE_URL + CAR_COLOR;
}
@@ -383,10 +375,6 @@ public class RequestConstant {
return BASE_URL + DRIVER_AUTH_SAVECARROADLICENSENO;
}
public static String getTrafficInsurance() {
return BASE_URL + DRIVER_TRAFFIC_INSU;
}
public static String getSaveDrawCar() {
return BASE_URL + SAVE_DRAW_CAR;
}
@@ -10,7 +10,6 @@ import android.provider.Settings;
import androidx.annotation.RequiresApi;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.ui.auth.CertificatesActivity;
import com.arpa.hndahesudintocctmsdriver.ui.business.Md5Util;
@@ -119,14 +118,6 @@ public class UserRequset {
RequestUtil.start(1, WoDeFragment.VEHICLE_DEL, re, con, hd);
}
//车辆详情
public void vehicleDelTwo(String id) {
Map<String, Object> map = new HashMap<>();
map.put("carId", id);
Request re = OkHttpUtil.posts(new OkDate(RequestConstant.getGetCarDel(), MapUtil.mapJson(map)), getToken(con), con);
RequestUtil.start(1, "onlyGetDetail", re, con, hd);
}
//司机身份证认证
public void driverIDAuth() {
String url = RequestConstant.BASE_URL + "/app/driver/auth/authInfo";
@@ -146,24 +137,24 @@ public class UserRequset {
//app更新
public void upApp() {
String vs = "1.0.0";
try {
// isOpenAppNoRe();
vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
Map<String, Object> map = new HashMap<>();
map.put("source", 0);
map.put("version", vs);
Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con);
RequestUtil.start(1, "up_app", re, con, hd);
// String vs = "1.0.0";
// try {
//// isOpenAppNoRe();
// vs = con.getPackageManager().getPackageInfo(con.getPackageName(), 0).versionName;
// } catch (PackageManager.NameNotFoundException e) {
// e.printStackTrace();
// }
// Map<String, Object> map = new HashMap<>();
// map.put("source", 0);
// map.put("version", vs);
// Request re = OkHttpUtil.post(new OkDate(RequestConstant.getVERSION(), MapUtil.mapJson(map)), con);
// RequestUtil.start(1, "up_app", re, con, hd);
}
/**
* 判断是否开启未知应用安装权限
*/
private void isOpenAppNoRe() {
private void isOpenAppNoRe(){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
boolean b = con.getPackageManager().canRequestPackageInstalls();
if (!b) {
@@ -178,8 +169,8 @@ public class UserRequset {
@RequiresApi(api = Build.VERSION_CODES.O)
private void startInstallPermissionSettingActivity() {
//注意这个是8.0新API
Uri packageURI = Uri.parse("package:" + con.getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI);
Uri packageURI = Uri.parse("package:" +con.getPackageName());
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES,packageURI);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
con.startActivity(intent);
}
@@ -230,18 +221,7 @@ public class UserRequset {
public void carAudit(String carId) {
Map<String, Object> map = new HashMap<>();
map.put("carId", carId);
Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(), "get", Md5Util.resNoUrl(map)), getToken(con));
Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(),"get", Md5Util.resNoUrl(map)),getToken(con));
RequestUtil.start(1, VehicleAuthActivity.CAR_AUDIO, re, con, hd);
}
public void postAppInfo(AppInfoBean appInfoBean, String type) {
// Request re = OkHttpUtil.get(new OkDate(RequestConstant.getCarAudit(),"get", gson.toJson(appInfoBean)),getToken(con));
Request re;
if ("put".equals(type)) {
re = OkHttpUtil.put(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
} else {
re = OkHttpUtil.post(new OkDate(RequestConstant.postAppInfo(), type, gson.toJson(appInfoBean)), con);
}
RequestUtil.start(1, VehicleAuthActivity.APP_INFO, re, con, hd);
}
}
@@ -10,7 +10,6 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
@@ -28,14 +27,11 @@ public class MakeUpService extends Service {
public void palyMp3(){
Log.e("开始播放","-----");
try {
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.kujp9scu);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
mediaPlayer.prepareAsync();
AssetFileDescriptor fd =getAssets().openFd("kujp9scu.mp3");
mediaPlayer.setDataSource(fd);
mediaPlayer.setLooping(false);//设置为循环播放
mediaPlayer.prepare();//初始化播放器MediaPlayer
mediaPlayer.start();
Log.e("播放成功","-----");
} catch (Exception e) {
e.printStackTrace();
@@ -18,13 +18,10 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.arpa.hndahesudintocctmsdriver.parts.UserParts;
import com.arpa.hndahesudintocctmsdriver.util.string.StringUtil;
import com.bumptech.glide.Glide;
import com.esign.esignsdk.EsignSdk;
import com.esign.esignsdk.data.AuthEvent;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson;
@@ -48,8 +45,6 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import org.greenrobot.eventbus.Subscribe;
import java.io.File;
import java.util.List;
@@ -106,7 +101,6 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthQualification"), BaseBean.class);
if (bb.getCode() == 200) {
// initAuth();
isAuth = true;
//判断是否从车辆进来 carId为空从个人认证进来需跳转实名认证,不为空车辆信息进入,需跳转车辆照片
if (TextUtils.isEmpty(carId)) {
//从业资格证->实名认证
@@ -161,7 +155,6 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
// finish();
EsignSdk.getInstance().startH5Activity(act, StringUtil.isNull(String.valueOf(bb.getData()), ""));
} else {
finish();
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_LONG).show();
}//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl");
@@ -250,14 +243,12 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}
});
value2.setOnClickListener(v -> {
if (!isAuth) {
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
}
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
});
submit.setOnClickListener(v -> {
if (!isAuth) {
@@ -388,31 +379,4 @@ public class AuthQualificationActivity extends BaseAppCompatActivity {
}
}
@Subscribe
public void processResult(AuthEvent auth) {
//添加实名/意愿/签署完成之后的逻辑
Log.e("-回调信息-", auth.result);
JSONObject jsonObject = JSON.parseObject(auth.result);
if ("success".equalsIgnoreCase(jsonObject.getString("res"))) {
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "签署场景成功", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "意愿认证成功", Toast.LENGTH_SHORT).show();
}
finish();
} else {
if ("sign".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "签署场景失败", Toast.LENGTH_SHORT).show();
} else if ("realName".equalsIgnoreCase(jsonObject.getString("key"))) {
Toast.makeText(con, "实名认证失败", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(con, "意愿认证失败", Toast.LENGTH_SHORT).show();
}
EsignSdk.getInstance().finishH5Activity();
finish();
}
}
}
@@ -37,7 +37,6 @@ import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
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.github.gzuliyujiang.wheelpicker.contract.OnOptionPickedListener;
@@ -158,9 +157,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
|| CacheGroup.cacheList.get("saveVehicleLicense") != null || CacheGroup.cacheList.get("authUrl") != null
|| CacheGroup.cacheList.get("saveDrawCar") != null) {
if (CacheGroup.cacheList.get("driverAuthIdCard") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthIdCard"), BaseBean.class);
if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
@@ -178,9 +174,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
if (CacheGroup.cacheList.get("driverAuthLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("driverAuthLicense"), BaseBean.class);
if (bb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
@@ -213,9 +206,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
if (CacheGroup.cacheList.get("saveVehicleLicense") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
CarZhengBean czb = gson.fromJson(CacheGroup.cacheList.get("saveVehicleLicense"), CarZhengBean.class);
if (czb.getCode() == 200) {
String needUpQCPhoto = czb.getData().getNeedUpQCPhoto();//是否需要上传从业资格证
@@ -224,19 +214,13 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Toast.makeText(con, "车辆行驶证保存成功", Toast.LENGTH_SHORT).show();
VehicleEvent ve = new VehicleEvent(String.valueOf(czb.getData().getCarId()));
EventBus.getDefault().postSticky(ve);
EventBus.getDefault().post(ve);
// TODO: 2023/8/23
if ("1".equals(isTrailer)) {//判断是否跳转挂车行驶证
Intent in = new Intent(con, CertificatesActivity.class);
in.putExtra("index", 3);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
if (olb != null && olb.getData() != null && olb.getData().isCarExist()) {
CarDelBean carDelBean = new CarDelBean();
carDelBean.setRes(1);//保留字段 1:为绑定车辆,可以进行修改挂车信息
carDelBean.setData(gson.fromJson(gson.toJson(olb.getData().getExistCarInfo()), CarDelBean.DataDTO.class));
in.putExtra("cheData", gson.toJson(carDelBean));
}
startActivity(in);
} else if ("1".equals(needUpQCPhoto)) {//判断是否跳转从业资格证
Intent in = new Intent(con, AuthQualificationActivity.class);
@@ -247,7 +231,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} else if ("1".equals(needUpRLPhoto)) {//判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", String.valueOf(czb.getData().getCarId()));
startActivity(in);
} else {
@@ -280,9 +263,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove("saveVehicleLicense");
}
if (CacheGroup.cacheList.get("saveDrawCar") != null) {
if (customDialog != null) {
customDialog.dismiss();
}
Log.e("-saveDrawCar-", CacheGroup.cacheList.get("saveDrawCar"));
CarZhengBean bb = gson.fromJson(CacheGroup.cacheList.get("saveDrawCar"), CarZhengBean.class);
if (bb.getCode() == 200) {
@@ -303,7 +283,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
} else if ("1".equals(needUpRLPhoto)) {//现判断是否跳转道路运输许可证
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 3);
in.putExtra("carExist", true);
in.putExtra("carId", carId);
startActivity(in);
} else {
@@ -357,11 +336,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}//Log.e("url",CacheGroup.cacheList.get("authUrl"));
CacheGroup.cacheList.remove("authUrl");
} else {
//重复代码?
initView(null);
if (!(CacheGroup.cacheList.get(TYPE_NAME_BANK[2]) != null || CacheGroup.cacheList.get(TYPE_NAME_BANK[3]) != null)) {
initData();
}
initData();
pathOrcRes();
}
break;
@@ -439,7 +415,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
// there_div.setVisibility(View.VISIBLE);
if (c_str != null && !c_str.equals("")) {
cdb = gson.fromJson(c_str, CarDelBean.class);
oCrcarId = cdb.getData().getTrailerResVo().getTrailerLicenseId() + "";
initView(null);
initData();
} else {
@@ -696,16 +671,14 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value3.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getOwner(), "空数据"));
value4.setText(StringUtil.isNull(cdb.getData().getTrailerResVo().getVehicleNumber(), "空数据"));
value6.setText(StringUtil.isNull(cdb.getData().getCarEnergyTypValue(), "空数据"));
submit.setBackgroundResource(R.drawable.bg_btn_grey);
Glide.with(con).load(url1).into(img1);
Glide.with(con).load(url2).into(img2);
Glide.with(con).load(url3).into(img3);
if (cdb.getRes() != 1) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
u_img.setText("已上传");
u_img2.setText("已上传");
u_img3.setText("点击查看");
isAuth = true;
}
u_img.setText("已上传");
u_img2.setText("已上传");
u_img3.setText("点击查看");
isAuth = true;
}
break;
default:
@@ -765,8 +738,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value1.setText(ocb.getData().getName());
value2.setText(ocb.getData().getCardId());
value3.setText(ocb.getData().getAddress());
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
Glide.with(con).load(url1).into(img1);
fontId = ocb.getData().getId();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -778,8 +750,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ocbb.getCode() == 200) {
url2 = ocbb.getData().getUrl();
value4.setText(ocbb.getData().getEndTime());
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
Glide.with(con).load(url2).into(img2);
startTime = ocbb.getData().getStartTime();
backId = ocbb.getData().getId();
@@ -803,8 +774,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
value2.setText(StringUtil.isNull(od.getStartTime(), "识别异常"));
value3.setText(StringUtil.isNull(od.getAllowType(), "识别异常"));
value4.setText(StringUtil.isNull(od.getEndTime(), "识别异常"));
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
Glide.with(con).load(url1).into(img1);
fontId = od.getId();
} else {
Toast.makeText(con, "识别失败", Toast.LENGTH_SHORT).show();
@@ -816,8 +786,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (odlb.getCode() == 200) {
url2 = odlb.getData().getUrl();
backId = odlb.getData().getId();
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
Glide.with(con).load(url2).into(img2);
//自动调取提交功能,实现页面自动跳转
subimt();
} else {
@@ -833,22 +802,13 @@ public class CertificatesActivity extends BaseAppCompatActivity {
Log.e("olb", CacheGroup.cacheList.get(TYPE_NAME[2]));
olb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[2]), OCRVehicleLicenseBean.class);
if (olb.getCode() == 200) {
if (olb.getData().isCarExist()) {
value1.setEnabled(false);
Glide.with(con).load(olb.getData().getExistCarInfo().getBackImage()).into(img2);
url2 = olb.getData().getExistCarInfo().getBackImage();
ToastUtils.showLongToast(con, "该车辆已存在,请仔细核对相关信息");
} else {
value1.setEnabled(true);
}
url1 = olb.getData().getUrl();
value1.setText(olb.getData().getCarNumber());
value2.setText(olb.getData().getType());
value3.setText(olb.getData().getOwner());
value4.setText(olb.getData().getVehicleNumber());
fontId = olb.getData().getId();
// Glide.with(con).load(url1).into(img1);
Glide.with(con).load(path).into(img1);
Glide.with(con).load(url1).into(img1);
oCrcarId = olb.getData().getCarId() + "";
Log.e("-cardId-", oCrcarId);
} else {
@@ -861,9 +821,8 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (oblb.getCode() == 200) {
url2 = oblb.getData().getUrl();
backId = oblb.getData().getId();
// Glide.with(con).load(url2).into(img2);
Glide.with(con).load(path).into(img2);
//自动调取提交功能,实现页面自动跳转实现页面自动跳转
Glide.with(con).load(url2).into(img2);
//自动调取提交功能,实现页面自动跳转
subimt();
} else {
Toast.makeText(con, oblb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -875,8 +834,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
if (ub.getCode() == 200) {
url3 = ub.getData().getUrl();
fid = ub.getData().getId();
// Glide.with(con).load(url3).into(img3);
Glide.with(con).load(path).into(img3);
Glide.with(con).load(url3).into(img3);
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
@@ -920,7 +878,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss();
return;
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, olb.getData().isCarExist());
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum);
} else {
new AuthRequest().upload(con, hd, new File(path));
@@ -936,16 +894,7 @@ public class CertificatesActivity extends BaseAppCompatActivity {
customDialog.dismiss();
return;
}
// if (cdb != null && cdb.getData().getTrailerResVo() &&cdb.getRes() == 1)
boolean isExist = false;
if (olb != null) {//主页识别成功后获取
isExist = olb.getData().isCarExist();
} else {
if (cdb != null && cdb.getData().getTrailerResVo() != null && cdb.getRes() == 1) {//上个页面带来数据
isExist = true;
}
}
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum, isExist);
new OCRRequest().OCRVehicleLicenseBack(con, hd, new File(path), oCrcarId, carNum);
} else {
new AuthRequest().upload(con, hd, new File(path));
}
@@ -968,8 +917,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
switch (index) {
case 0:
if (ocb != null && ocbb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
IDInputBean ib = new IDInputBean();
ib.setIdcarName(str1);
ib.setIdcard(str2);
@@ -992,8 +939,6 @@ public class CertificatesActivity extends BaseAppCompatActivity {
//olb
//{"档案编号","初次领证日期","准驾车型","有效期限(止)"},
if (odl != null && odlb != null) {
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Log.e("ocr", new Gson().toJson(odl));
LicenseInputBean iib = new LicenseInputBean();
iib.setArchivesName(str1);
@@ -1010,25 +955,20 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
break;
case 2:
if ((olb != null && !olb.getData().isCarExist() && oblb != null) || (olb != null && olb.getData().isCarExist())) {
if (olb != null && oblb != null) {
// if (curColor == null || curEnergy == null) {
// Toast.makeText(con, "请完善内容", Toast.LENGTH_SHORT).show();
// return;
// }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
HashMap<String, Object> map = new HashMap<>();
if ("".equals(url3)) {
map.put("imgId", fid);
}
map.put("licenseId", olb.getData().isCarExist() ? olb.getData().getExistCarInfo().getLicenseId() : oblb.getData().getLicenseId());
map.put("licenseId", oblb.getData().getLicenseId());
map.put("carNumber", str1);
map.put("type", str2);
map.put("owner", str3);
map.put("vehicleNumber", str4);
// if (olb.getData().isCarExist()) {
// map.put("carId", olb.getData().getCarId());
// }
// map.put("carPlateColor", curColor.getValue());
// map.put("carEnergyTyp", curEnergy.getValue());
new AuthRequest().saveVehicleLicense(con, hd, MapUtil.mapJson(map));
@@ -1037,27 +977,22 @@ public class CertificatesActivity extends BaseAppCompatActivity {
}
break;
case 3:
if (olb != null || (cdb != null && cdb.getRes() == 1)) {
if (olb != null && oblb != null) {
// if (curEnergy==null){
// Toast.makeText(con,"请完善内容",Toast.LENGTH_SHORT).show();
// return;
// }
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
Map<String, Object> map = new HashMap<>();
if ("".equals(url3)) {
map.put("imgId", fid);
}
// map.put("licenseId", oblb.getData().getLicenseId());
map.put("licenseId", oblb.getData().getLicenseId());
map.put("carId", carId);
map.put("carNumberDraw", str1);
map.put("type", str2);
map.put("owner", str3);
// map.put("carEnergyTyp", curEnergy.getValue());
map.put("vehicleNumber", str4);
if (cdb != null && cdb.getRes() == 1 && cdb.getData() != null && cdb.getData().getTrailerResVo() != null) {
map.put("oldTrailerNumber", cdb.getData().getTrailerResVo().getCarNumber());
}
new AuthRequest().saveDrawCar(con, hd, MapUtil.mapJson(map));
} else {
Toast.makeText(con, "请先上传资料", Toast.LENGTH_SHORT).show();
@@ -24,7 +24,6 @@ import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.AuthRequest;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.my.WoDeFragment;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetImageAlert;
@@ -32,8 +31,6 @@ import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.bumptech.glide.Glide;
import com.github.gzuliyujiang.wheelpicker.DatePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.DateMode;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
@@ -52,24 +49,23 @@ import java.util.List;
*/
public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnClickListener {
private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证", "车辆交强险"};
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片", "车辆交强险照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片", "请上传车辆交强险照片"};
private Boolean[] isShowEdit = {false, false, true, true, true};
private Boolean[] isShowSkip = {true, false, false, true, true};
private String[] titles = {"车辆照片", "NFC照片", "车辆登记证书", "道路运输许可证"};
private String[] name1 = {"车辆照片", "NFC照片", "车辆登记证书照片", "道路运输许可证照片"};
private String[] name2 = {"请上传车辆照片", "请上传NFC照片", "请上传车辆登记证书照片", "请上传道路运输许可证照片"};
private Boolean[] isShowEdit = {false, false, true, true};
private Boolean[] isShowSkip = {true, false, false, true};
private String[] tips = {
"",
"*注意: 没有粘贴NFC芯片的车辆无需上传,可直接跳过",
"*注意: 没有可直接跳过,等候下次上传",
"*注意: 4.5吨以下车辆不需要上传,可直接跳过",
""};
"*注意: 4.5吨以下车辆不需要上传,可直接跳过"};
private BaseRecyclerView brv;
private ImageView img;
private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip, value2;
private TextView title1, title2, title3, zjimg_name, upload_img, tvTips, tvSkip;
private EditText value1;
private LinearLayout llInfo, llDate;
private LinearLayout llInfo;
private RelativeLayout up_img;
private Button submit;
@@ -79,9 +75,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
private int type;//页面类型
private String path, carId, url;//图片路径
private boolean carExist = false;
private GetImageAlert gia = new GetImageAlert();
private CustomDialog customDialog;
@Override
public void msgMethod(Message m) {
@@ -98,11 +92,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
}
CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_DEL);
}
if (CacheGroup.cacheList.get("onlyGetDetail") != null) {
Log.e("--res--", CacheGroup.cacheList.get("onlyGetDetail"));
cdb = gson.fromJson(CacheGroup.cacheList.get("onlyGetDetail"), CarDelBean.class);
CacheGroup.cacheList.remove("onlyGetDetail");
}
if (CacheGroup.cacheList.get("upload") != null) {
@@ -120,16 +109,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case 3:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 2);
break;
case 4:
new AuthRequest().saveCarImg(con, hd, carId, ub.getData().getId(), 7);
break;
}
url = ub.getData().getUrl();
// Glide.with(con).load(url).into(img);
Glide.with(con).load(path).into(img);
Glide.with(con).load(url).into(img);
if (customDialog != null && customDialog.isShowing())
customDialog.dismiss();
CacheGroup.cacheList.remove("upload");
}
@@ -147,12 +130,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
Toast.makeText(con, "上传车辆登记证书照片", Toast.LENGTH_SHORT).show();
break;
case 3:
ur.vehicleDelTwo(carId);
Toast.makeText(con, "上传道路运输证成功", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(con, "交强险证件上传成功", Toast.LENGTH_SHORT).show();
break;
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -179,7 +158,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
IsAuthDriverAuthQualificationBean ib = gson.fromJson(CacheGroup.cacheList.get("saveCarRoadLicenseNo"), IsAuthDriverAuthQualificationBean.class);
if (ib.getCode() == 200) {
//判断是否需要跳转挂车行驶证页面
if (!"".equals(carId) && cdb.getData() != null) {
if (!"".equals(carId)) {
if (cdb.getData().getIsTrailer() == 1 && cdb.getData().getTrailerResVo() != null && !TextUtils.isEmpty(cdb.getData().getTrailerResVo().getCarNumber())) {//需要挂车,并且传过挂车直接结束
finish();
Intent in = new Intent(con, AddCarSuccActivity.class);
@@ -208,11 +187,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
con.startActivity(in);
}
}
} else {
finish();
}
// if (!"".equals(carId) && cdb.getData().getIsTrailer() == 1) {
// if (!"".equals(carId)) {
// finish();
@@ -237,23 +213,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
}
CacheGroup.cacheList.remove("saveCarRoadLicenseNo");
}
if (CacheGroup.cacheList.get("saveTrafficInsurance") != null) {
Log.e("is", CacheGroup.cacheList.get("saveTrafficInsurance"));
IsAuthDriverAuthQualificationBean ddb = gson.fromJson(CacheGroup.cacheList.get("saveTrafficInsurance"), IsAuthDriverAuthQualificationBean.class);
if (ddb.getCode() == 200) {
Toast.makeText(con, "保存成功", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(con, ddb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("saveTrafficInsurance");
}
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog = new CustomDialog(con, "加载中...");
customDialog.show();
path = (String) m.obj;
new AuthRequest().upload(con, hd, new File(path));
break;
@@ -272,7 +233,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
title1 = findViewById(R.id.title1);
title2 = findViewById(R.id.title2);
title3 = findViewById(R.id.name1);
value2 = findViewById(R.id.value2);
up_img = findViewById(R.id.up_img);
img = findViewById(R.id.img);
zjimg_name = findViewById(R.id.zjimg_name);
@@ -280,7 +240,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips = findViewById(R.id.tvTips);
value1 = findViewById(R.id.value1);
llInfo = findViewById(R.id.llInfo);
llDate = findViewById(R.id.llDate);
tvSkip = findViewById(R.id.tvSkip);
submit = findViewById(R.id.submit);
@@ -288,12 +247,10 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
submit.setOnClickListener(this);
upload_img.setOnClickListener(this);
img.setOnClickListener(this);
value2.setOnClickListener(this);
type = getIntent().getExtras().getInt("type");
carId = getIntent().getExtras().getString("carId", "");
carExist = getIntent().getExtras().getBoolean("carExist", false);
changeViewByType(type);
ur = new UserRequset(con, hd);
@@ -350,14 +307,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
case R.id.img:
showBigImg();
break;
case R.id.value2:
DatePicker picker = new DatePicker(this);
picker.setBodyWidth(300);
picker.setOnDatePickedListener((year, month, day) -> value2.setText(year + "-" + month + "-" + day));
picker.getWheelLayout().setDateMode(DateMode.YEAR_MONTH_DAY);
picker.getWheelLayout().setDateLabel("", "", "");
picker.show();
break;
}
}
@@ -366,7 +315,7 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
* 展示大图片
*/
private void showBigImg() {
if ((type == 3 && TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) || (type == 4 && TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl()))) {
if (TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
choicePhoto();
return;
}
@@ -411,21 +360,8 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
break;
}
break;
case 4:
if (cdb.getData().getPolicyPhotoUrl() != null && !"".equals(cdb.getData().getPolicyPhotoUrl())) {
//roadLicensePhoto
new XPopup.Builder(con)
.asImageViewer(img, cdb.getData().getPolicyPhotoUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(img, cdb.getData().getRoadLicensePhoto(), true, -1, -1, 50, false, new CertificatesActivity.ImageLoader())
// .show();
}
break;
}
}
@@ -475,15 +411,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
}
new AuthRequest().saveCarRoadLicenseNo(con, hd, carId, s1);
break;
case 4:
String s2 = value1.getText().toString();
String v2 = value2.getText().toString();
if (TextUtils.isEmpty(s2) || TextUtils.isEmpty(v2)) {
Toast.makeText(this, "请补充证件信息", Toast.LENGTH_SHORT).show();
return;
}
new AuthRequest().saveTrafficInsurance(con, hd, carId, v2, s2);
break;
}
}
@@ -515,17 +442,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
if (!TextUtils.isEmpty(cdb.getData().getRoadLicensePhoto())) {
Glide.with(con).load(cdb.getData().getRoadLicensePhoto()).into(img);
value1.setText(cdb.getData().getRoadLicense());
if (!carExist) {
submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传");
}
}
} else if (4 == type) {
if (!TextUtils.isEmpty(cdb.getData().getPolicyPhotoUrl())) {
Glide.with(con).load(cdb.getData().getPolicyPhotoUrl()).into(img);
value1.setText(cdb.getData().getInsuranceCompany());
value2.setText(cdb.getData().getInsuranceEndDay());
submit.setBackgroundResource(R.drawable.bg_btn_grey);
upload_img.setText("已上传");
}
@@ -611,10 +527,6 @@ public class PhotoCarActivity extends BaseAppCompatActivity implements View.OnCl
tvTips.setText(tips[type]);
tvSkip.setVisibility(isShowSkip[type] ? View.GONE : View.VISIBLE);
llInfo.setVisibility(isShowEdit[type] ? View.VISIBLE : View.GONE);
if (type == 4) {
llDate.setVisibility(View.VISIBLE);
title3.setText("保险公司");
}
}
@@ -14,10 +14,7 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
@@ -41,7 +38,6 @@ import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.io.File;
import java.util.ArrayList;
@@ -55,7 +51,6 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
public String carId="";
public static final String DEL_CAR="delete_che";
public static final String CAR_AUDIO="CAR_AUDIO";
public static final String APP_INFO="APP_INFO";
private int submitIndex=0;
private BaseBean bb;
private ImageView show_img;
@@ -70,7 +65,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
CacheGroup.cacheList.remove(CAR_AUDIO);
}
if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL)!=null){
Log.e("--res--lijia",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL));
Log.e("--res--",CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL));
cdb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_DEL), CarDelBean.class);
if(cdb.getCode()==200){
initView(null);
@@ -84,8 +79,6 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
bb=gson.fromJson(CacheGroup.cacheList.get(DEL_CAR),BaseBean.class);
if (bb.getCode()==200) {
Toast.makeText(con,"删除成功",Toast.LENGTH_SHORT).show();
RefreshCarListEvent ve = new RefreshCarListEvent("");
EventBus.getDefault().post(ve);
finish();
}else{
Toast.makeText(con,"删除失败:"+bb.getMsg(),Toast.LENGTH_SHORT).show();
@@ -173,13 +166,6 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
private GetImageAlert gia=new GetImageAlert();
private boolean key1,key2,key3=false;
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
@@ -221,12 +207,11 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
RelativeLayout r5=v.findViewById(R.id.r5);
RelativeLayout r6=v.findViewById(R.id.r6);
RelativeLayout r7=v.findViewById(R.id.r7);
RelativeLayout r8=v.findViewById(R.id.r8);
View vs1=v.findViewById(R.id.vs1);
View vs2=v.findViewById(R.id.vs2);
r4.setVisibility(View.GONE);
r5.setVisibility(View.GONE);
// vs1.setVisibility(View.GONE);
vs1.setVisibility(View.GONE);
vs2.setVisibility(View.GONE);
if(!"".equals(carId) && cdb.getData().getIsTrailer()==1){
r4.setVisibility(View.VISIBLE);
@@ -316,17 +301,6 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
Toast.makeText(con,"请先绑定挂车",Toast.LENGTH_SHORT).show();
}
});
r8.setOnClickListener(v1->{
if(!"".equals(carId)){
Intent in = new Intent(con, PhotoCarActivity.class);
in.putExtra("type", 4);
in.putExtra("carId", carId);
con.startActivity(in);
}else{
Toast.makeText(con,"请先绑定行驶证",Toast.LENGTH_SHORT).show();
}
});
del.setOnClickListener(v13 -> {
new XPopup.Builder(con)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -410,7 +384,7 @@ public class VehicleAuthActivity extends BaseAppCompatActivity {
super.onResume();
}
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
@Subscribe
public void processResult(VehicleEvent event) {
Log.e("-msg-",event.getMessage());
if(!"".equals(event.getMessage())) {
@@ -7,7 +7,6 @@ import android.graphics.Outline;
import android.location.Location;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
@@ -23,6 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnDownloadResultListener;
@@ -36,6 +36,7 @@ import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.Marker;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.MyLocationStyle;
import com.arpa.hndahesudintocctmsdriver.App;
import com.arpa.hndahesudintocctmsdriver.bean.DriverExpireBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.bean.JTT;
@@ -85,7 +86,13 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseFragment;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView;
import com.lxj.xpopup.util.XPermission;
import com.permissionx.guolindev.PermissionX;
import com.permissionx.guolindev.callback.RequestCallback;
import com.permissionx.guolindev.dialog.RationaleDialog;
import com.permissionx.guolindev.request.ChainTask;
import com.permissionx.guolindev.request.ExplainScope;
import com.permissionx.guolindev.request.ForwardScope;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
@@ -97,6 +104,9 @@ import org.greenrobot.eventbus.Subscribe;
import java.util.ArrayList;
import java.util.List;
import pub.devrel.easypermissions.EasyPermissions;
import pub.devrel.easypermissions.helper.PermissionHelper;
/**
* @author hlh
* @version 1.0.0
@@ -241,9 +251,7 @@ public class HomeFragment extends BaseFragment {
in.putExtra("url", deb.getData().getIdCardUpdateUrl());
}
}
if (!TextUtils.isEmpty(deb.getData().getDriverLicenseUpdateUrl()) || !TextUtils.isEmpty(deb.getData().getIdCardUpdateUrl())||
!TextUtils.isEmpty(deb.getData().getQualificationUpdateUrl())||!TextUtils.isEmpty(deb.getData().getRoadLicenseUpdateUrl())||
!TextUtils.isEmpty(deb.getData().getInsuranceUpdateUrl())) {
if (!"".equals(deb.getData().getDriverLicenseUpdateUrl()) || !"".equals(deb.getData().getIdCardUpdateUrl())) {
new XToast<>(act)
.setContentView(R.layout.view_bc)
// 设置成可拖拽的
@@ -901,49 +909,28 @@ public class HomeFragment extends BaseFragment {
public void initAlct() {
PermissionX.init(getActivity())
.permissions(Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_BACKGROUND_LOCATION,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
.permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.CALL_PHONE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.CAMERA)
Manifest.permission.RECORD_AUDIO)
.request((allGranted, grantedList, deniedList) -> {
boolean isHasLocation = false;
boolean isHasStor = false;
for (int i = 0; i < grantedList.size(); i++) {
if (grantedList.get(i).equals(Manifest.permission.ACCESS_FINE_LOCATION)){
isHasLocation = true;
}
if (grantedList.get(i).equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)){
isHasStor = true;
}
}
if (isHasLocation&&isHasStor){
ALProcess.verification(con);
MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
Log.e("--成功信息--", new Gson().toJson(o));
}
if (allGranted) {
} else {
@Override
public void onFailure(String s, String s1) {
Log.e("--失败信息--", s + s1);
}
});
}else {
if (!isHasLocation){
Toast.makeText(con, "开启权限失败,请在应用设置-权限-定位-始终允许", Toast.LENGTH_SHORT).show();
return;
}
if (!isHasStor){
Toast.makeText(con, "开启权限失败,请在应用设置-权限-媒体与文件-仅媒体", Toast.LENGTH_SHORT).show();
}
}
});
ALProcess.verification(con);
MDPLocationCollectionManager.getInvoices(con, 10, 1, new OnDownloadResultListener() {
@Override
public void onSuccess(Object o) {
Log.e("--成功信息--", new Gson().toJson(o));
}
@Override
public void onFailure(String s, String s1) {
Log.e("--失败信息--", s + s1);
}
});
}
private MyLocationStyle myLocationStyle;//地图定位样式
@@ -4,20 +4,12 @@ import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.Html;
import android.text.Layout;
import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log;
import android.view.inputmethod.EditorInfo;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
@@ -110,18 +102,14 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//Toast.makeText(con,"接单成功",Toast.LENGTH_SHORT).show();
customDialog.dismiss();
// EsignSdk.getInstance().startH5Activity(act, (String) bb.getData());
if (null==bb.getData()){
UiAuxiliary.homeRequest("接单");
Intent in = new Intent(con, StartYunDanActivity.class);
in.putExtra("id", "0");
startActivity(in);
finish();
}else{
Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false);
startActivity(intent);
}
Intent intent = new Intent(this, H5Activity.class);
intent.putExtra("url", (String) bb.getData());
intent.putExtra("view_file", false);
startActivity(intent);
//finish();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
@@ -207,8 +195,6 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
//2021/02/27记,类型声明错误
ImageButton return_btn = v.findViewById(R.id.return_btn);
ImageButton xuan = v.findViewById(R.id.xuan);
CheckBox checkBox = v.findViewById(R.id.cb);
TextView totalFreight = v.findViewById(R.id.totalFreight);
ImageButton btnFp = v.findViewById(R.id.btnFp);
TextView effectiveTime = v.findViewById(R.id.effectiveTime);
TextView check_contract = v.findViewById(R.id.check_contract);
@@ -219,15 +205,6 @@ public class HuoYunDelActivity extends BaseAppCompatActivity {
return_btn.setOnClickListener(v16 -> {
finish();
});
totalFreight.setText("****");
checkBox.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked){
totalFreight.setText(hyd.getData().getTotalFreight());
}else{
totalFreight.setText("****");
}
// totalFreight.setTransformationMethod(isChecked? HideReturnsTransformationMethod.getInstance(): PasswordTransformationMethod.getInstance());
});
// String textSource = "同意在符合相关税务机关要求的情况下代开<font color='#ff0000'>增值税发票</font>";
String textSource = "公司已对运输合同条款充分解释说明,本人已充分理解、认可并签署;同意符合税务机关要求下<font color='#ff0000'>代开增值税发票</font>,产生的增值税及附加税本人承担。";
tvZzs.setText(Html.fromHtml(textSource));
@@ -31,7 +31,6 @@ import com.amap.api.maps.model.LatLngBounds;
import com.amap.api.maps.model.MarkerOptions;
import com.amap.api.maps.model.PolylineOptions;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.route.BusRouteResult;
import com.amap.api.services.route.DrivePath;
@@ -40,8 +39,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.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.TimeUtil;
import com.dahe.mylibrary.utils.ToastUtils;
@@ -56,7 +54,6 @@ import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.GetShangChuanActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.OrderComplaintActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.ShangChuangImgActivity;
import com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan.WebPDFActivity;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.sp.SPUtil;
@@ -72,9 +69,7 @@ import com.arpa.hndahesudintocctmsdriver.util.view.ScoreView;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.function.Predicate;
public class StartYunDanActivity extends BaseActivity {
@@ -111,9 +106,6 @@ public class StartYunDanActivity extends BaseActivity {
Log.e("-运单-", CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER));
sob = gson.fromJson(CacheGroup.cacheList.get(HuoYuanFragmengt.START_ORDER), StartOrderBean.class);
wnb = gson.fromJson(CacheGroup.cacheList.get(GET_EVALUTE), WNewsBean.class);
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
if (sob.getCode() == 200 && sob.getData() != null) {
id = sob.getData().getWaybillId();
initView(null);
@@ -207,30 +199,6 @@ public class StartYunDanActivity extends BaseActivity {
initStartBody(v);
break;
case R.layout.item_yundan_yunxing:
LinearLayout llMoney = v.findViewById(R.id.llMoney);
if (!sob.getData().getWaybillStatus().equals("已装货")
&& !sob.getData().getWaybillStatus().equals("待装货")
&& !sob.getData().getWaybillStatus().equals("待接单")) {
if (sob.getData().getWaybillStatus().equals("已装货")) {
StartOrderBean.DataDTO.WayChildrenDTO mySdw = new StartOrderBean.DataDTO.WayChildrenDTO();
for (int i = 0; i < sob.getData().getWayChildren().size(); i++) {
StartOrderBean.DataDTO.WayChildrenDTO sdw = sob.getData().getWayChildren().get(i);
if (sdw.getType() == 1) {
mySdw = sdw;
break;
}
}
if (mySdw.getStatus() == 3) {
llMoney.setVisibility(View.GONE);
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.VISIBLE);
}
} else {
llMoney.setVisibility(View.GONE);
}
ImageView head_img = v.findViewById(R.id.head_img);
if (ub != null && ub.getData() != null && !ub.getData().getHeadportraitUrl().equals("")) {
Glide.with(con).load(ub.getData().getHeadportraitUrl()).into(head_img);
@@ -475,16 +443,12 @@ public class StartYunDanActivity extends BaseActivity {
return str;
}
private CustomDialog customDialog;
@Override
protected void onResume() {
super.onResume();
if (map != null) {
map.onResume();
}
customDialog = new CustomDialog(con, "网络请求中...");
customDialog.show();
hyr.startOrder(id);
hyr.getEvaluate(id);
}
@@ -513,6 +513,11 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
if(TextUtils.isEmpty(tempLoca.getTime())||TextUtils.isEmpty(tempLoca.getAddress())){
ToastUtils.showToast(this,"请选择时间以及地点");
return;
}
switch (index) {
case 0:
//装货
@@ -566,9 +571,9 @@ public class ShangChuangImgActivityBC extends BaseAppCompatActivity implements I
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 数组
@@ -1,14 +1,8 @@
package com.arpa.hndahesudintocctmsdriver.ui.login;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Message;
import android.provider.Settings;
import android.telecom.TelecomManager;
import android.telephony.TelephonyManager;
import android.text.SpannableStringBuilder;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
@@ -16,8 +10,6 @@ import android.text.style.ClickableSpan;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
@@ -26,7 +18,6 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.request.net.BaseObserver;
import com.arpa.hndahesudintocctmsdriver.request.net.DataManager;
@@ -47,7 +38,6 @@ import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StatusBarUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseActivity;
import java.util.Locale;
import java.util.TimerTask;
import cn.jiguang.verifysdk.api.AuthPageEventListener;
@@ -74,7 +64,8 @@ public class LoginActivity extends BaseActivity {
private LoginBean loginBean;
private TimerTask tt;
private int timer_sum = 60;
private CheckBox cb;
private ImageButton agree_btn;
private CardView no_btn;
private UserRequset ur;
@Override
@@ -97,22 +88,15 @@ public class LoginActivity extends BaseActivity {
//存储登录记录
loginBean = new Gson().fromJson(CacheGroup.cacheList.get(LOGIN_RESULT), LoginBean.class);
Log.e("--登录信息--", new Gson().toJson(loginBean));
AppInfoBean appInfoBean = new AppInfoBean();
if (loginBean.getCode() == 200) {
SPUtil.insSP(con, USER, USER_TOKEN, loginBean.getData().getToken());
SPUtil.insSP(con, USER, USER_UNAME, loginBean.getData().getUname());
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());
appInfoBean.setStatus("0");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
UiAuxiliary.homeRequest("登录成功");
finish();
} else {
appInfoBean.setStatus("1");
appInfoBean.setUserPhone(String.valueOf(input_phone.getText()));
ur.postAppInfo(appInfoBean,"post");
Toast.makeText(con, loginBean.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(LOGIN_RESULT);
@@ -134,7 +118,8 @@ public class LoginActivity extends BaseActivity {
input_phone = findViewById(R.id.input_phone);
input_code = findViewById(R.id.input_code);
getCode = findViewById(R.id.getCode);
cb = findViewById(R.id.cb);
agree_btn = findViewById(R.id.agree_btn);
no_btn = findViewById(R.id.no_btn);
ur = new UserRequset(con, hd);
initView(null);
}
@@ -147,18 +132,21 @@ public class LoginActivity extends BaseActivity {
@Override
public void initView(Object obj) {
super.initView(obj);
cb.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
key = true;
} else {
key = false;
}
agree_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.GONE);
no_btn.setVisibility(View.VISIBLE);
key = false;
});
no_btn.setOnClickListener(v -> {
agree_btn.setVisibility(View.VISIBLE);
no_btn.setVisibility(View.GONE);
key = true;
});
ConfigBean cb = ConfigParts.getConfigParts(con);
if (cb != null) {
url1 = cb.getData().getUserUrl();
url2 = "https://agreement.dahehuoyun.com/currency/#/";
url2 = "https://agreement.dahehuoyun.com/huawei/#/private";
}
TextView tv_content = findViewById(R.id.tv_content);
String str = "我已阅读并同意相关服务条款和隐私政策《用户服务协议》和《隐私政策》";
@@ -30,12 +30,10 @@ import androidx.core.app.ActivityCompat;
import com.alct.mdp.MDPLocationCollectionManager;
import com.arpa.hndahesudintocctmsdriver.BuildConfig;
import com.arpa.hndahesudintocctmsdriver.bean.AppInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.ImageConfig;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.UserRequset;
import com.arpa.hndahesudintocctmsdriver.ui.UiAuxiliary;
import com.arpa.hndahesudintocctmsdriver.ui.business.BusinessActivity;
import com.arpa.hndahesudintocctmsdriver.util.SPUtils;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
@@ -140,8 +138,8 @@ public class WelcomeActivity extends BaseAppCompatActivity {
new XPopup.Builder(con)
.dismissOnBackPressed(false)
.dismissOnTouchOutside(false)
.asCustom(new AgreementAlert(con, "http://agreement.dahehuoyun.com/currency/#/",
"http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/", hd))
.asCustom(new AgreementAlert(con, "https://agreement.dahehuoyun.com/huawei/#/private",
"http://agreement.dahehuoyun.com/#/user", hd))
.show();
}
Glide.with(con)
@@ -161,16 +159,6 @@ public class WelcomeActivity extends BaseAppCompatActivity {
initRequest();
}
}, 1000);
AppInfoBean appInfoBean = new AppInfoBean();
if (!UiAuxiliary.isLogin(con)) {
ur.postAppInfo(appInfoBean, "post");
}else{
String sp = SPUtil.getSP(con, LoginActivity.USER, LoginActivity.USER_UNAME);
appInfoBean.setUserPhone(sp);
appInfoBean.setStatus("0");
ur.postAppInfo(appInfoBean, "post");
}
// String[] permissions=new String[]{
// Manifest.permission.ACCESS_FINE_LOCATION,
@@ -18,7 +18,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.event.PersonEvent;
import com.arpa.hndahesudintocctmsdriver.event.RefreshCarListEvent;
import com.arpa.hndahesudintocctmsdriver.event.VehicleEvent;
import com.arpa.hndahesudintocctmsdriver.parts.ConfigParts;
import com.arpa.hndahesudintocctmsdriver.parts.StartOrderParts;
@@ -64,32 +63,32 @@ public class MyFragment extends BaseFragment {
private UserBean userBean;
private StartOrderBean sob;
private CarListBean clb;
private Gson gson = new Gson();
private Gson gson=new Gson();
private UserRequset ur;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
switch (m.what){
case 200:
refreshLayout.finishRefresh();
if (CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST) != null) {
clb = gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST), CarListBean.class);
if (clb.getCode() == 200) {
if(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST)!=null){
clb=gson.fromJson(CacheGroup.cacheList.get(WoDeFragment.VEHICLE_LIST),CarListBean.class);
if(clb.getCode()==200){
initVehicleList(true);
} else {
Toast.makeText(con, clb.getRes(), Toast.LENGTH_LONG).show();
}else{
Toast.makeText(con,clb.getRes(),Toast.LENGTH_LONG).show();
initVehicleList(false);
}
CacheGroup.cacheList.remove(WoDeFragment.VEHICLE_LIST);
}
if (CacheGroup.cacheList.get("userdata") != null) {
userBean = gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if (userBean.getCode() == 200) {
SPUtil.insSP(con, "data", "userdata", CacheGroup.cacheList.get("userdata"));
if (CacheGroup.cacheList.get("userdata")!=null){
userBean=gson.fromJson(CacheGroup.cacheList.get("userdata"), UserBean.class);
if(userBean.getCode()==200 ){
SPUtil.insSP(con,"data","userdata",CacheGroup.cacheList.get("userdata"));
initAuth();
} else {
Toast.makeText(con, userBean.getMsg(), Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(con,userBean.getMsg(),Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("userdata");
}
@@ -101,12 +100,12 @@ public class MyFragment extends BaseFragment {
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
root = inflater.inflate(R.layout.fragment_my, container, false);
con = root.getContext();
brv = root.findViewById(R.id.rv);
root=inflater.inflate(R.layout.fragment_my,container,false);
con=root.getContext();
brv=root.findViewById(R.id.rv);
EventBus.getDefault().register(this);
userBean = UserParts.getUser(con);
ur = new UserRequset(con, hd);
userBean= UserParts.getUser(con);
ur=new UserRequset(con,hd);
getRequest();
initId();
initRefreshLoad();
@@ -115,7 +114,7 @@ public class MyFragment extends BaseFragment {
}
public void initRefreshLoad() {
refreshLayout = root.findViewById(R.id.srl);
refreshLayout =root.findViewById(R.id.srl);
refreshLayout.setOnRefreshListener(refreshLayout -> {
getRequest();
});
@@ -124,7 +123,7 @@ public class MyFragment extends BaseFragment {
@Override
public void initView(Object obj) {
super.initView(obj);
brv_vehicle = root.findViewById(R.id.brv_vehicle);
brv_vehicle=root.findViewById(R.id.brv_vehicle);
ur.vehicleList("1");
}
@@ -132,85 +131,83 @@ public class MyFragment extends BaseFragment {
//执行中订单
//车辆信息
public void initVehicleList(boolean isSuccess) {
public void initVehicleList(boolean isSuccess){
//车辆信息
List<ManyBean> list_vehicle = new ArrayList<>();
List<ManyBean> list_vehicle=new ArrayList<>();
for (CarListBean.DataDTO datum : clb.getData()) {
list_vehicle.add(new ManyBean(datum, R.layout.my_item_vehicle));
list_vehicle.add(new ManyBean(datum,R.layout.my_item_vehicle));
}
if (list_vehicle.size() == 0) {
list_vehicle.add(new ManyBean(new Model(), R.layout.my_item_vehicle_null));
if(list_vehicle.size()==0){
list_vehicle.add(new ManyBean(new Model(),R.layout.my_item_vehicle_null));
}
brv_vehicle.creates(con, list_vehicle).setOnItemViewListener((position, o, v, layout) -> {
switch (layout) {
brv_vehicle.creates(con,list_vehicle).setOnItemViewListener((position, o, v, layout) -> {
switch (layout){
case R.layout.my_item_vehicle:
CarListBean.DataDTO cd = (CarListBean.DataDTO) o;
View br = v.findViewById(R.id.br);
if (position == (clb.getData().size() - 1) && position != 2) {
LinearLayout add_box = v.findViewById(R.id.add_box);
TextView add_no = v.findViewById(R.id.add_no);
CarListBean.DataDTO cd= (CarListBean.DataDTO) o;
View br=v.findViewById(R.id.br);
if(position==(clb.getData().size()-1) && position!=2){
LinearLayout add_box=v.findViewById(R.id.add_box);
TextView add_no=v.findViewById(R.id.add_no);
add_no.setVisibility(View.GONE);
add_box.setVisibility(View.VISIBLE);
br.setVisibility(View.GONE);
add_box.setOnClickListener(v1 -> {
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", "");
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId","");
startActivity(in);
});
}
v.setOnClickListener(v1 -> {
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", cd.getCarId());
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId",cd.getCarId());
startActivity(in);
});
break;
case R.layout.my_item_vehicle_null:
v.setOnClickListener(v12 -> {
Intent in = new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId", "");
Intent in=new Intent(con, VehicleAuthActivity.class);
in.putExtra("carId","");
startActivity(in);
});
break;
default:
break;
default:break;
}
});
}
class Model {
}
class Model{ }
public void getRequest() {
sob = StartOrderParts.getStartOrder(con);
public void getRequest(){
sob= StartOrderParts.getStartOrder(con);
ur.User();
ur.vehicleList("1");
}
private LinearLayout onGetUser, onAllOrder, onAuth, onDriverHome;
private ImageView onContact, onOpinion, onUpdate, onSetUp;
private TextView name, phone;
private ImageView dang_auth, no_auth, name_auth;
private LinearLayout onGetUser,onAllOrder,onAuth,onDriverHome;
private ImageView onContact,onOpinion,onUpdate,onSetUp;
private TextView name,phone;
private ImageView dang_auth,no_auth,name_auth;
private LinearLayout auth_box;
private ImageView img_head;
public void initId() {
public void initId(){
//
name = root.findViewById(R.id.name);
phone = root.findViewById(R.id.phone);
dang_auth = root.findViewById(R.id.dang_auth);
no_auth = root.findViewById(R.id.no_auth);
name_auth = root.findViewById(R.id.name_auth);
auth_box = root.findViewById(R.id.auth_box);
name=root.findViewById(R.id.name);
phone=root.findViewById(R.id.phone);
dang_auth=root.findViewById(R.id.dang_auth);
no_auth=root.findViewById(R.id.no_auth);
name_auth=root.findViewById(R.id.name_auth);
auth_box=root.findViewById(R.id.auth_box);
//
onGetUser = root.findViewById(R.id.onGetUser);
onAllOrder = root.findViewById(R.id.onAllOrder);
onAuth = root.findViewById(R.id.onAuth);
onDriverHome = root.findViewById(R.id.onDriverHome);
onContact = root.findViewById(R.id.onContact);
onOpinion = root.findViewById(R.id.onOpinion);
onUpdate = root.findViewById(R.id.onUpdate);
onSetUp = root.findViewById(R.id.onSetUp);
img_head = root.findViewById(R.id.img_head);
onGetUser=root.findViewById(R.id.onGetUser);
onAllOrder=root.findViewById(R.id.onAllOrder);
onAuth=root.findViewById(R.id.onAuth);
onDriverHome=root.findViewById(R.id.onDriverHome);
onContact=root.findViewById(R.id.onContact);
onOpinion=root.findViewById(R.id.onOpinion);
onUpdate=root.findViewById(R.id.onUpdate);
onSetUp=root.findViewById(R.id.onSetUp);
img_head=root.findViewById(R.id.img_head);
//认证
no_auth.setOnClickListener(v -> startActivity(new Intent(con, PersonalAuthActivity.class)));
//用户信息
@@ -225,27 +222,27 @@ public class MyFragment extends BaseFragment {
.permissions(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
Intent in = new Intent(con, BusinessActivity.class);
in.putExtra("type", "餐饮");
Intent in=new Intent(con, BusinessActivity.class);
in.putExtra("type","餐饮");
startActivity(in);
} else {
Toast.makeText(getContext(), "请先开启定位权限", Toast.LENGTH_LONG).show();
Toast.makeText(getContext(),"请先开启定位权限",Toast.LENGTH_LONG).show();
}
});
});
//联系我们
onContact.setOnClickListener(v -> {
String serviceMobile = "";
if (ConfigParts.getConfigParts(con) != null) {
serviceMobile = ConfigParts.getConfigParts(con).getData().getServiceMobile();
serviceMobile = StringUtil.isNull(serviceMobile, "");
String serviceMobile="";
if(ConfigParts.getConfigParts(con)!=null){
serviceMobile=ConfigParts.getConfigParts(con).getData().getServiceMobile();
serviceMobile=StringUtil.isNull(serviceMobile,"");
}
String[] title = {"平台客服:" + serviceMobile};
String[] value = {serviceMobile};
String[] title={"平台客服:"+serviceMobile};
String[] value={serviceMobile};
new XPopup.Builder(con)
.isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.asCenterList("请选择", title,
.asCenterList("请选择",title,
(position1, text) -> {
Intent intent = new Intent(Intent.ACTION_DIAL);
Uri data = Uri.parse("tel:" + value[position1]);
@@ -256,36 +253,36 @@ public class MyFragment extends BaseFragment {
});
//咨询建议
onOpinion.setOnClickListener(v -> {
Intent in = new Intent(con, WebActivity.class);
in.putExtra("title", "咨询建议");
in.putExtra("url", "");
Intent in=new Intent(con, WebActivity.class);
in.putExtra("title","咨询建议");
in.putExtra("url","");
startActivity(in);
});
//检查更新
onUpdate.setOnClickListener(v -> Toast.makeText(con, "当前已经是最新版本", Toast.LENGTH_LONG).show());
onUpdate.setOnClickListener(v -> Toast.makeText(con,"当前已经是最新版本",Toast.LENGTH_LONG).show());
//系统设置
onSetUp.setOnClickListener(v -> startActivity(new Intent(con, SetupActivity.class)));
}
public void initAuth() {
if (userBean.getData() != null) {
name.setText(StringUtil.isNull(userBean.getData().getUname(), "未实名"));
phone.setText(StringUtil.isNull(userBean.getData().getRname(), ""));
if (2 == userBean.getData().getPartyMemberStatus()) {
public void initAuth(){
if(userBean.getData()!=null){
name.setText(StringUtil.isNull(userBean.getData().getUname(),"未实名"));
phone.setText(StringUtil.isNull(userBean.getData().getRname(),""));
if(2==userBean.getData().getPartyMemberStatus()){
}
if ("1".equals(userBean.getData().getRealAuthentication())) {
if("1".equals(userBean.getData().getRealAuthentication())){
} else {
}else{
}
if (!"".equals(userBean.getData().getHeadportraitUrl())) {
if (!"".equals(userBean.getData().getHeadportraitUrl())){
Glide.with(con).load(userBean.getData().getHeadportraitUrl()).into(img_head);
}
if (userBean != null && 100003 == userBean.getData().getAuditStatus()) {
if(userBean!=null && 100003==userBean.getData().getAuditStatus()){
auth_box.setVisibility(View.GONE);
no_auth.setVisibility(View.GONE);
} else {
}else{
auth_box.setVisibility(View.GONE);
no_auth.setVisibility(View.VISIBLE);
}
@@ -293,19 +290,12 @@ public class MyFragment extends BaseFragment {
}
@Subscribe
public void processResult(VehicleEvent event) {
Log.e("-msg-", event.getMessage());
if (!"".equals(event.getMessage())) {
public void processResult(VehicleEvent event) {
Log.e("-msg-",event.getMessage());
if(!"".equals(event.getMessage())) {
ur.vehicleList("1");
}
}
@Subscribe
public void refreshCarListEvent(RefreshCarListEvent event) {
Log.e("-msg-", event.getMessage());
ur.vehicleList("1");
}
@Subscribe
public void personResult(PersonEvent home) {
Log.e("-res-", home.getMessage());
@@ -35,7 +35,7 @@ public class SetupActivity extends BaseActivity {
String url2="";
String url3="";
String kefu="";
private RelativeLayout r1,r2,r3,r4,r5,r6,r7,r8;
private RelativeLayout r1,r2,r3,r4,r5,r6,r7;
@Override
public void msgMethod(Message m) {
@@ -73,9 +73,8 @@ public class SetupActivity extends BaseActivity {
ConfigBean cb= ConfigParts.getConfigParts(con);
if(cb!=null){
// url1=cb.getData().getUserUrl();
url1="http://agreement.dahehuoyun.com/rule/serviceAgreement/dist/index.html#/";
// url2=cb.getData().getPrivateUrl();
url2="http://agreement.dahehuoyun.com/currency/#/";
url1="https://agreement.dahehuoyun.com/huawei/#/private";
url2=cb.getData().getPrivateUrl();
kefu=cb.getData().getServiceMobile();
url3=cb.getData().getSecurityUrl();
}
@@ -86,7 +85,6 @@ public class SetupActivity extends BaseActivity {
r5=findViewById(R.id.r5);
r6=findViewById(R.id.r6);
r7=findViewById(R.id.r7);
r8=findViewById(R.id.r8);
ur=new UserRequset(con,hd);
initView(null);
}
@@ -120,15 +118,9 @@ public class SetupActivity extends BaseActivity {
in.putExtra("url","https://smlt.esign.cn/hmfbZoeeGQqv");
startActivity(in);
});
r8.setOnClickListener(v12 -> {
Intent in=new Intent(con,WebActivity.class);
in.putExtra("title","交易规则");
in.putExtra("url","http://agreement.dahehuoyun.com/rule/transactionRules/dist/index.html#/");
startActivity(in);
});
r6.setOnClickListener(v12 -> {
String[] title={"平台客服:"+kefu};
String[] value={kefu};
String[] title={"平台客服:"+kefu,"银行客服:95528","技术咨询:13460042961"};
String[] value={kefu,"95528","13460042961"};
new XPopup.Builder(con)
.isDarkTheme(false)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
@@ -13,8 +12,6 @@ import android.widget.Toast;
import androidx.annotation.Nullable;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickHelper;
import com.arpa.hndahesudintocctmsdriver.weight.OnLimitClickListener;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.arpa.hndahesudintocctmsdriver.R;
@@ -43,13 +40,13 @@ import java.util.List;
* @date 2021/8/26 19:06
* @description:
*/
public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClickListener {
public class UpBankActivity extends BaseAppCompatActivity {
private ImageView up_bank_img;
private EditText bank_name, bank_number;
private EditText bank_name,bank_number;
private TextView submit;
private ImageView return_btn;
public GetImageAlert gia = new GetImageAlert();
public GetImageAlert gia=new GetImageAlert();
String path;
private OCRBankBean ib;
private WalletRequest qr;
@@ -58,36 +55,35 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
switch (m.what){
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("OCR_BANK") != null) {
ib = new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"), OCRBankBean.class);
if (ib.getCode() == 200) {
if (CacheGroup.cacheList.get("OCR_BANK")!=null) {
ib=new Gson().fromJson(CacheGroup.cacheList.get("OCR_BANK"),OCRBankBean.class);
if(ib.getCode()==200){
initView(null);
customDialog.dismiss();
WalletFragment.isInsBank = true;
} else {
Toast.makeText(con, ib.getMsg(), Toast.LENGTH_SHORT).show();
WalletFragment.isInsBank=true;
}else{
Toast.makeText(con,ib.getMsg(),Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("OCR_BANK");
}
if (CacheGroup.cacheList.get("insBank") != null) {
BaseBean bb = new Gson().fromJson(CacheGroup.cacheList.get("insBank"), BaseBean.class);
if (bb.getCode() == 200) {
customDialog.dismiss();
Toast.makeText(con, "绑定成功", Toast.LENGTH_SHORT).show();
if(CacheGroup.cacheList.get("insBank")!=null){
BaseBean bb=new Gson().fromJson(CacheGroup.cacheList.get("insBank"),BaseBean.class);
if(bb.getCode()==200){
Toast.makeText(con,"绑定成功",Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(con,bb.getMsg(),Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("insBank");
}
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
customDialog = new CustomDialog(con, "上传识别中...");
customDialog=new CustomDialog(con, "上传识别中...");
customDialog.show();
path = (String) m.obj;
new OCRRequest().ORCBank(con, hd, new File(path));
new OCRRequest().ORCBank(con,hd,new File(path));
break;
}
}
@@ -99,18 +95,24 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_bank_auth);
act = this;
con = this;
up_bank_img = findViewById(R.id.up_bank_img);
bank_name = findViewById(R.id.bank_name);
bank_number = findViewById(R.id.bank_number);
submit = findViewById(R.id.submit);
return_btn = findViewById(R.id.return_btn);
qr = new WalletRequest(con, hd);
act=this;
con=this;
up_bank_img=findViewById(R.id.up_bank_img);
bank_name=findViewById(R.id.bank_name);
bank_number=findViewById(R.id.bank_number);
submit=findViewById(R.id.submit);
return_btn=findViewById(R.id.return_btn);
qr=new WalletRequest(con,hd);
up_bank_img.setOnClickListener(v -> {
gia.showPopueWindow(this);
});
submit.setOnClickListener(new OnLimitClickHelper(this));
submit.setOnClickListener(v -> {
if(ib!=null){
submit();
}else{
Toast.makeText(con,"请先上传图片",Toast.LENGTH_SHORT).show();
}
});
return_btn.setOnClickListener(v -> {
finish();
});
@@ -127,11 +129,11 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
path = gia.getFile().getPath();
Log.e("图片地址:", path);
if (requestCode == 12 && resultCode == RESULT_OK) {
path=gia.getFile().getPath();
Log.e("图片地址:",path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
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) {
@@ -141,43 +143,29 @@ public class UpBankActivity extends BaseAppCompatActivity implements OnLimitClic
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
path=paths;
Log.e("图片地址:",path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
ImageFileCompressUtil.imageFileCompress(con,new File(path),hd);
}
}
}
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();
public void submit(){
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;
}
InsBankInputBean ibib = new InsBankInputBean();
InsBankInputBean ibib =new InsBankInputBean();
ibib.setCardNo(bankNumber);
ibib.setCardType(Integer.parseInt(ib.getData().getBankCardType()));
ibib.setBankName(bankName);
ibib.setCardUserType(1);
ibib.setImageId(ib.getData().getId());
Log.e("-res-", new Gson().toJson(ibib));
Log.e("-res-",new Gson().toJson(ibib));
qr.insBankCard(ibib);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.submit:
if (ib != null) {
submit();
} else {
Toast.makeText(con, "请先上传图片", Toast.LENGTH_SHORT).show();
}
break;
}
}
}
@@ -231,7 +231,6 @@ public class WalletFragment extends BaseFragment{
bank_remove.setVisibility(View.VISIBLE);
} else{
bank_number.setVisibility(View.GONE);
bank_title_1.setText("未添加银行卡");
bank_add.setVisibility(View.VISIBLE);
bank_remove.setVisibility(View.GONE);
}
@@ -5,12 +5,9 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.webkit.JavascriptInterface;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
@@ -84,11 +81,6 @@ public class WebActivity extends BaseActivity {
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
webSettings.setDefaultTextEncodingName("utf-8");
// 特别注意:5.1以上默认禁止了https和http混用,以下方式是开启
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
wv.addJavascriptInterface(new JavaScriptObject(con), "webObj");
//PaxWebChromeClient chromeClient=new PaxWebChromeClient();
//WebView加载web资源
@@ -119,12 +111,6 @@ public class WebActivity extends BaseActivity {
wv.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
});
wv.setWebChromeClient(chromeClient);
wv.loadUrl(url);
@@ -163,12 +149,6 @@ public class WebActivity extends BaseActivity {
view.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
handler.proceed();
}
});
}
@@ -3,7 +3,6 @@ package com.arpa.hndahesudintocctmsdriver.util.http;
import android.content.Context;
import com.arpa.hndahesudintocctmsdriver.util.app.VersionUtil;
import com.dahe.mylibrary.utils.AppUtils;
import java.io.File;
@@ -42,7 +41,6 @@ public class OkHttpUtil {
.post(body)
.headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -73,40 +71,6 @@ public class OkHttpUtil {
.addHeader("Authorization", token)
.addHeader("Content-Type", "application/json")
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
.build();
return request;
}
public static Request put(OkDate od, Context con){
MediaType mediaType = MediaType.parse("application/json");
if(od.getMadiaType()!=null && od.getMadiaType().equals("")){
od.setMadiaType("{}");
}
// JSONObject jsonObject = JSON.parseObject(od.getMadiaType());
// jsonObject.put("timestamp", DateUtil.current());
// jsonObject.put("deviceId", GetUtil.getDeviceId(con));
// String sign = SecureUtil.signParamsSha1(jsonObject,SIGN_PASSWORD);
// Log.e("jsonObject",jsonObject.toString());
// Log.e("sign",sign);
// Map<String,Object> map=new HashMap<>();
// map.put("data",SecurityUtil.encrypt(jsonObject.toString()));
// Log.e("参数1",od.getMadiaType());
// Log.e("参数2",MapUtil.mapJson(map));
//MapUtil.mapJson(map)
RequestBody body = RequestBody.create(mediaType,od.getMadiaType());
Headers.Builder hb=new Headers.Builder();
hb.add("Content-Type","application/json");
hb.add("Cache-Control","no-cache");
Request request = new Request.Builder()
.url(od.getUrl())
.put(body)
.headers(hb.build())
.addHeader("Version", VersionUtil.getVersion(con))
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
//.addHeader("sign",sign)
.removeHeader("User-Agent")
.addHeader("User-Agent",GetUtil.getUserAgent(con))
@@ -122,7 +86,6 @@ public class OkHttpUtil {
.url(od.getUrl())
.get()
.headers(hb.build())
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.build();
return request;
}
@@ -136,7 +99,6 @@ public class OkHttpUtil {
Request request = new Request.Builder()
.url(od.getUrl())
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.get()
.headers(hb.build())
.build();
@@ -167,7 +129,6 @@ public class OkHttpUtil {
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
@@ -184,26 +145,23 @@ public class OkHttpUtil {
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
}
public static Request postFiles(OkDate od,File file,String token,String carId,String carNum,boolean isSave) {
public static Request postFiles(OkDate od,File file,String token,String carId,String carNum) {
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file",file.getPath(),RequestBody.create(MediaType.parse("application/octet-stream"), file))
.addFormDataPart("carId",carId)
.addFormDataPart("carNum",carNum)
.addFormDataPart("isSave",isSave?"0":"1")
.build();
Request request = new Request.Builder()
.url(od.getUrl())
.method("POST", body)
.addHeader("Authorization", token)
.addHeader("VersionCode",String.valueOf(AppUtils.getAppVersionCode()))
.addHeader("Cookie", "JSESSIONID=NqpqKQstwceQurcNK5hjl4GnTgiF4eSzZSo5a1rz")
.build();
return request;
@@ -31,23 +31,23 @@ public class GetCarImageAlert {
PopupWindow popupWindow;
ImageView img;
public void showPopueWindow(AppCompatActivity act,boolean key){
View popView = View.inflate(act, R.layout.choice_car_timg,null);
Button btn_xiangce =popView.findViewById(R.id.btn_xiangce);
public void showPopueWindow(AppCompatActivity act, boolean key) {
View popView = View.inflate(act, R.layout.choice_car_timg, null);
Button btn_xiangce = popView.findViewById(R.id.btn_xiangce);
Button btn_paizhao = popView.findViewById(R.id.btn_paizhao);
Button btn_quxiao = popView.findViewById(R.id.btn_quxiao);
View v_1=popView.findViewById(R.id.v_1);
TextView tv_ts=popView.findViewById(R.id.tv_ts);
img=popView.findViewById(R.id.img);
Button btn_quxiao = popView.findViewById(R.id.btn_quxiao);
View v_1 = popView.findViewById(R.id.v_1);
TextView tv_ts = popView.findViewById(R.id.tv_ts);
img = popView.findViewById(R.id.img);
//获取屏幕宽高
int weight =act.getResources().getDisplayMetrics().widthPixels;
int height = act.getResources().getDisplayMetrics().heightPixels*2/3;
popupWindow = new PopupWindow(popView,weight,height);
int weight = act.getResources().getDisplayMetrics().widthPixels;
int height = act.getResources().getDisplayMetrics().heightPixels * 2 / 3;
popupWindow = new PopupWindow(popView, weight, height);
//popupWindow.setAnimationStyle(R.style.anim_popup_dir);
popupWindow.setFocusable(true);
//点击外部popueWindow消失
popupWindow.setOutsideTouchable(true);
if(key){
if (key) {
btn_xiangce.setVisibility(View.VISIBLE);
img.setImageResource(R.drawable.huidan);
tv_ts.setText("请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。");
@@ -55,31 +55,41 @@ public class GetCarImageAlert {
//请按照如图所示拍摄回单照片,回单照片必须保持清晰完整,能看清具体吨数,便于结算运费时核查,感谢配合。
}
btn_xiangce.setOnClickListener(v -> {
PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
try {
PermissionX.init(act)
.permissions(Manifest.permission.READ_EXTERNAL_STORAGE)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
PicturlUtil.selectPicter(act, new ArrayList<>(), 1);
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
} catch (Exception e) {
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
});
btn_paizhao.setOnClickListener(v -> {
PermissionX.init(act)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
openCam(act);
try{
PermissionX.init(act)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
if (allGranted) {
openCam(act);
// file=ImageGetUtil.createImageFile(act);
// ImageGetUtil.cameraAlbumGetImage(act,file);
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
} else {
Toast.makeText(act.getBaseContext(), "开启权限失败,请手动开启权限", Toast.LENGTH_LONG).show();
}
});
}catch (Exception e){
Toast.makeText(act.getBaseContext(), "程序出现问题了,请重新登录后重试!!!", Toast.LENGTH_LONG).show();
}
});
img.setOnClickListener(v -> {
if (!key){
if (!key) {
PermissionX.init(act)
.permissions(Manifest.permission.CAMERA)
.request((allGranted, grantedList, deniedList) -> {
@@ -102,22 +112,22 @@ public class GetCarImageAlert {
WindowManager.LayoutParams lp = act.getWindow().getAttributes();
lp.alpha = 0.5f;
act.getWindow().setAttributes(lp);
popupWindow.showAtLocation(popView, Gravity.BOTTOM,0,50);
popupWindow.showAtLocation(popView, Gravity.BOTTOM, 0, 50);
}
public File getFile() {
return file;
}
public void dis(){
public void dis() {
popupWindow.dismiss();
}
private void openCam(AppCompatActivity act){
file=ImageGetUtil.createImageFile(act);
if (file!=null){
ImageGetUtil.cameraAlbumGetImage(act,file);
}else{
private void openCam(AppCompatActivity act) {
file = ImageGetUtil.createImageFile(act);
if (file != null) {
ImageGetUtil.cameraAlbumGetImage(act, file);
} else {
Toast.makeText(act.getBaseContext(), "路径创建失败,请清除缓存后重试", Toast.LENGTH_LONG).show();
}
}
@@ -9,7 +9,7 @@ import android.provider.MediaStore;
import androidx.core.content.FileProvider;
import com.dahe.mylibrary.utils.AppUtils;
import com.sdk.base.framework.utils.app.AppUtils;
import java.io.File;
import java.io.IOException;
@@ -41,7 +41,7 @@ public class ImageGetUtil {
if(imageFile!=null){
if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.N){
/*7.0以上要通过FileProvider将File转化为Uri*/
uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getAppPackageName()+".fileprovider",imageFile);
uri = FileProvider.getUriForFile(act.getApplicationContext(), AppUtils.getPackageName()+".fileprovider",imageFile);
}else {
/*7.0以下则直接使用Uri的fromFile方法将File转化为Uri*/
uri = Uri.fromFile(imageFile);
@@ -1,101 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.util.location;
import static com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil.RES;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.location.Address;
import android.location.Criteria;
import android.location.Geocoder;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Handler;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.msg.MsgUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import com.google.gson.Gson;
import java.util.List;
import java.util.Locale;
/**
* @ClassName LocationManagerUtil
* @Author john
* @Date 2024/7/25 15:21
* @Description LocationManager本地定位
*/
public class LocationManagerUtil {
public static LocationManagerUtil mInstance = null;
public static LocationManagerUtil getInstance() {
if (null == mInstance) {
synchronized (LocationManagerUtil.class) {
if (null == mInstance) {
mInstance = new LocationManagerUtil();
}
}
}
return mInstance;
}
private LocationManagerUtil() {
}
public void getLocation(Context ctx, Handler hd) {
LocationManager locationManager = (LocationManager) ctx.getSystemService(Context.LOCATION_SERVICE);
//创建定位条件器
Criteria criteria = new Criteria();
//设置精度,Criteria.ACCURACY_FINE表示精确,Criteria.ACCURACY_COARSE表示粗略
criteria.setAccuracy(Criteria.ACCURACY_FINE);
//设置是否需要海拔信息
criteria.setAltitudeRequired(true);
//设置是否需要方位信息
criteria.setBearingRequired(true);
//设置是否允许运营商扣费
criteria.setCostAllowed(true);
//设置对电源的需求
criteria.setPowerRequirement(Criteria.POWER_LOW);
String bestProvider = locationManager.getBestProvider(criteria, true);
if (bestProvider != null) {
if (ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(ctx, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ToastUtils.showToast(ctx, "请查看定位权限");
return;
}
locationManager.requestLocationUpdates(bestProvider, 300, 0, new LocationListener() {
@Override
public void onLocationChanged(@NonNull Location location) {
try {
Geocoder geocoder = new Geocoder(ctx, Locale.getDefault());
List<Address> fromLocation = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
if (fromLocation != null && !fromLocation.isEmpty()) {
Address address = fromLocation.get(0);
String addressLine = address.getAddressLine(0);
String adminArea = address.getAdminArea();//省
String locality = address.getLocality();//市
String subLocality = address.getSubLocality();//县
String featureName = address.getFeatureName();//详细地址
CacheGroup.cacheList.put("getLocation", new Gson().toJson(address));
MsgUtil.addHdMsgWat(hd, RES);
locationManager.removeUpdates(this);
}
} catch (Exception e) {
}
}
});
} else {
ToastUtils.showToast(ctx, "定位失败,请查看定位权限");
}
}
}
@@ -1,38 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
import android.widget.Toast;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.dahe.mylibrary.utils.ToastUtils;
import java.util.Calendar;
/**
* @ClassName OnLimitClickHelper
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public class OnLimitClickHelper implements View.OnClickListener {
public static final int LIMIT_TIME = 2000;
private long lastClickTime = 0;
private OnLimitClickListener onLimitClickListener = null;
public OnLimitClickHelper(OnLimitClickListener onLimitClickListener){
this.onLimitClickListener = onLimitClickListener;
}
@Override
public void onClick(View v) {
long curTime = Calendar.getInstance().getTimeInMillis();
if (curTime - lastClickTime > LIMIT_TIME) {
lastClickTime = curTime;
if(onLimitClickListener != null){
onLimitClickListener.onClick(v);
}
}else{
ToastUtils.showToast(v.getContext(),"点击速度过快,请稍后重试");
}
}
}
@@ -1,17 +0,0 @@
package com.arpa.hndahesudintocctmsdriver.weight;
import android.view.View;
/**
* @ClassName OnLimitClickListener
* @Author john
* @Date 2024/4/22 14:28
* @Description TODO
*/
public interface OnLimitClickListener {
/**
* 按钮点击事件
* @param view
*/
void onClick(View view);
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 KiB

-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/icon_eye_open" android:state_checked="true"></item>
<item android:drawable="@drawable/icon_eye_close" android:state_checked="false"></item>
<item android:drawable="@drawable/icon_eye_close"></item>
</selector>
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/read_select" android:state_checked="true"></item>
<item android:drawable="@drawable/read_nor" android:state_checked="false"></item>
<item android:drawable="@drawable/read_nor"></item>
</selector>
@@ -163,20 +163,20 @@
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<TextView
android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_30"
android:background="@null"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="点击进行手动输入"
android:ellipsize="end"
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
android:layout_marginLeft="@dimen/dp_30"
android:background="@null"
/>
</RelativeLayout>
</LinearLayout>
<TextView
@@ -382,38 +382,5 @@
/>
</LinearLayout>
<RelativeLayout
android:id="@+id/r8"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_marginBottom="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交强险保单"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15"
/>
</LinearLayout>
<ImageView
android:layout_width="@dimen/dp_6"
android:layout_height="@dimen/dp_10"
android:src="@mipmap/chevron"
android:scaleType="fitXY"
android:background="@null"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"/>
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9"/>
</LinearLayout>
</RelativeLayout>
+29 -9
View File
@@ -104,15 +104,35 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<CheckBox
android:layout_marginTop="@dimen/dp_3"
android:id="@+id/cb"
android:layout_width="@dimen/dp_28"
android:layout_height="@dimen/dp_34"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_read"/>
<androidx.cardview.widget.CardView
android:padding="@dimen/dp_7"
android:layout_marginTop="@dimen/dp_2"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
app:cardCornerRadius="@dimen/dp_7"
app:cardBackgroundColor="@color/theme_color"
app:cardElevation="@dimen/dp_0">
<androidx.cardview.widget.CardView
android:padding="@dimen/dp_7"
android:id="@+id/no_btn"
android:layout_width="@dimen/dp_12"
android:layout_height="@dimen/dp_12"
app:cardCornerRadius="@dimen/dp_6"
app:cardBackgroundColor="#fff"
android:layout_gravity="center"
app:cardElevation="@dimen/dp_0">
</androidx.cardview.widget.CardView>
<ImageButton
android:id="@+id/agree_btn"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
android:src="@mipmap/choice"
android:scaleType="fitXY"
android:background="#fff"
android:layout_gravity="center"
android:visibility="gone"
/>
</androidx.cardview.widget.CardView>
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
+3 -50
View File
@@ -81,7 +81,7 @@
android:id="@+id/zjimg_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_19"
android:text="从业资格证照片"
android:textColor="#ff333333"
android:textSize="@dimen/sp_15" />
@@ -91,7 +91,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="@dimen/dp_16"
android:layout_marginBottom="@dimen/dp_19"
android:text="点击上传图片"
android:textColor="@color/theme_color"
android:textSize="@dimen/sp_15" />
@@ -100,7 +100,7 @@
</androidx.cardview.widget.CardView>
<LinearLayout
android:visibility="gone"
android:id="@+id/llInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -137,8 +137,6 @@
android:orientation="vertical"
android:padding="@dimen/dp_14">
<RelativeLayout
android:id="@+id/cow1"
@@ -164,55 +162,10 @@
android:gravity="right"
android:hint="点击进行手动输入"
android:maxLines="1"
android:singleLine="true"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13" />
</RelativeLayout>
<LinearLayout
android:id="@+id/llDate"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<View
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="@drawable/bottom_xu"/>
<RelativeLayout
android:id="@+id/rlDate"
android:layout_marginTop="@dimen/dp_10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="截止日期"
android:textColor="#ffc4c4ce"
android:textSize="@dimen/sp_13"
/>
<TextView
android:layout_toRightOf="@+id/name2"
android:id="@+id/value2"
android:layout_alignParentRight="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ff999999"
android:textSize="@dimen/sp_13"
android:maxLines="1"
android:hint="请选择截止日期"
android:gravity="right"
android:ellipsize="end"
android:layout_marginLeft="@dimen/dp_10"
/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
+2 -1
View File
@@ -46,7 +46,8 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentRight="true"
android:visibility="gone">
android:visibility="gone"
>
<androidx.cardview.widget.CardView
android:id="@+id/btn_news"
+91 -147
View File
@@ -1,54 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/huoyuan_xq"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:orientation="vertical">
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:id="@+id/huoyuan_xq"
android:background="#fff">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/theme_color"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingBottom="@dimen/dp_20">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_68">
<ImageButton
android:layout_marginLeft="@dimen/dp_38"
android:id="@+id/return_btn"
android:layout_width="@dimen/dp_21"
android:layout_height="@dimen/dp_18"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/return_btn" />
<ImageButton
android:layout_marginRight="@dimen/dp_38"
android:layout_width="@dimen/dp_18"
android:layout_height="@dimen/dp_18"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/share2"
android:visibility="gone" />
android:layout_alignParentRight="true"
android:scaleType="fitXY"
android:background="@null"
android:visibility="gone"/>
</RelativeLayout>
<RelativeLayout
android:layout_marginTop="@dimen/dp_8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8">
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -56,102 +49,73 @@
android:text="货源详情"
android:textColor="#fff"
android:textSize="@dimen/sp_23" />
<TextView
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:id="@+id/huozhu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:text="联系货主"
android:textColor="#fff"
android:textSize="@dimen/sp_13" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginTop="@dimen/dp_11"
android:layout_marginRight="@dimen/dp_37"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="拒绝"
android:textColor="#fff"
android:textSize="@dimen/sp_15"
android:visibility="gone" />
android:visibility="gone"/>
</RelativeLayout>
<LinearLayout
android:layout_marginTop="@dimen/dp_38"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:orientation="vertical">
<LinearLayout
android:layout_gravity="center"
<TextView
android:id="@+id/totalFreight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/totalFreight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="****"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" />
<CheckBox
android:id="@+id/cb"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_3"
android:button="@null"
android:checked="false"
android:drawableStart="@drawable/select_eye"
android:gravity="center">
</CheckBox>
</LinearLayout>
android:layout_gravity="center"
android:text="0000"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_40" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="净赚运费(元)"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_gravity="center"
/>
<View
android:layout_marginTop="@dimen/dp_16"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_16"
android:background="#EFEFEF" />
android:background="#EFEFEF"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
android:layout_weight="1">
<TextView
android:layout_marginLeft="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="预估里程(km)"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_12"
android:layout_centerVertical="true"
/>
<TextView
android:id="@+id/distance"
@@ -164,12 +128,10 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF" />
android:background="#EFEFEF"/>
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -196,17 +158,14 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" />
android:background="#EFEFEF"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -232,12 +191,10 @@
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
</RelativeLayout>
<View
android:layout_width="@dimen/dp_1"
android:layout_height="wrap_content"
android:background="#EFEFEF" />
android:background="#EFEFEF"/>
<RelativeLayout
android:layout_width="@dimen/dp_0"
android:layout_height="match_parent"
@@ -267,67 +224,59 @@
android:textSize="@dimen/sp_12" />
</RelativeLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" />
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_28"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12"
android:layout_gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
android:text="运输要求:"
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
<TextView
android:id="@+id/requirement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_5"
android:text=""
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12" />
<TextView
android:layout_marginLeft="@dimen/dp_7"
android:id="@+id/requirement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_5"
android:text=""
android:textColor="#ffffffff"
android:textSize="@dimen/sp_12"
android:layout_gravity="center"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:background="#EFEFEF" />
android:background="#EFEFEF"/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_bai"
android:orientation="vertical">
android:orientation="vertical"
android:background="@drawable/bg_bai">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_39"
android:layout_marginTop="@dimen/dp_17"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="货源单号:"
android:textColor="#333333"
android:textSize="@dimen/sp_13" />
<TextView
android:id="@+id/orderNum"
android:layout_width="wrap_content"
@@ -336,48 +285,42 @@
android:textColor="#333333"
android:textSize="@dimen/sp_13" />
</LinearLayout>
<androidx.cardview.widget.CardView
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_15"
android:layout_marginRight="@dimen/dp_15"
app:cardBackgroundColor="#fff"
app:cardCornerRadius="@dimen/dp_14"
app:cardBackgroundColor="#fff"
app:cardElevation="@dimen/dp_0">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.arpa.hndahesudintocctmsdriver.util.view.BaseRecyclerView
android:id="@+id/zhuang_rv2"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</androidx.cardview.widget.CardView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_17">
<TextView
android:id="@+id/car"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_39"
android:text="选择车辆"
android:textColor="#ff000000"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_centerVertical="true"/>
<ImageButton
android:id="@+id/xuanze"
@@ -385,8 +328,8 @@
android:layout_height="@dimen/dp_29"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_38"
android:background="@null"
android:padding="@dimen/dp_5"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/add1" />
</RelativeLayout>
@@ -403,37 +346,39 @@
android:layout_height="@dimen/dp_25"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:background="@null"
android:padding="@dimen/dp_5"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/no_xuan" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:text="同意并签署"
android:textColor="#000000"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
<TextView
android:id="@+id/check_contract"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="《运输合同》"
android:textColor="@color/theme_color_news"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_7">
android:layout_marginTop="@dimen/dp_7"
>
<ImageButton
android:visibility="invisible"
android:id="@+id/btnFp"
android:layout_width="@dimen/dp_25"
android:layout_height="@dimen/dp_25"
@@ -442,39 +387,38 @@
android:background="@null"
android:padding="@dimen/dp_5"
android:scaleType="fitXY"
android:src="@mipmap/no_xuan"
android:visibility="invisible" />
android:src="@mipmap/no_xuan" />
<TextView
android:layout_toRightOf="@+id/btnFp"
android:id="@+id/tvZzs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_7"
android:layout_toRightOf="@+id/btnFp"
android:text="同意在符合相关税务机关要求的情况下代开增值税发票"
android:textColor="#000000"
android:textSize="@dimen/sp_13" />
android:textSize="@dimen/sp_13"
android:layout_gravity="center"/>
<TextView
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="增值税发票"
android:textColor="@color/red"
android:textSize="@dimen/sp_13"
android:visibility="gone" />
android:layout_gravity="center"/>
</RelativeLayout>
<Button
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginRight="@dimen/dp_38"
android:id="@+id/confirm_btn"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_38"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_38"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginRight="@dimen/dp_38"
android:layout_marginBottom="@dimen/dp_60"
android:background="@drawable/bg_btn"
android:text="确认接单"
+2 -3
View File
@@ -99,7 +99,7 @@
<TextView
android:id="@+id/loadingAddress"
android:layout_width="wrap_content"
android:layout_width="@dimen/dp_120"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
@@ -125,7 +125,7 @@
<TextView
android:id="@+id/receiverAddress"
android:layout_width="wrap_content"
android:layout_width="@dimen/dp_120"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="@dimen/dp_5"
@@ -140,7 +140,6 @@
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -123,7 +123,6 @@
</LinearLayout>
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_marginRight="@dimen/dp_10"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
@@ -52,7 +52,6 @@
/>
</LinearLayout>
<LinearLayout
android:id="@+id/llMoney"
android:layout_marginTop="@dimen/dp_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -103,7 +103,6 @@
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30"
@@ -132,7 +131,6 @@
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_30"
+1 -38
View File
@@ -146,35 +146,6 @@
android:src="@mipmap/chevron" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9" />
<RelativeLayout
android:id="@+id/r8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp_20"
android:paddingBottom="@dimen/dp_20">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="交易规则"
android:textColor="#ff000000"
android:textSize="@dimen/sp_15" />
<ImageView
android:layout_width="@dimen/dp_4"
android:layout_height="@dimen/dp_8"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@null"
android:scaleType="fitXY"
android:src="@mipmap/chevron" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
@@ -304,19 +275,11 @@
android:scaleType="fitXY"
android:src="@mipmap/chevron" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_2"
android:background="#F6F6F9" />
<TextView
android:layout_marginTop="@dimen/dp_20"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ICP备案号:豫ICP备09025418号-24A"
/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 KiB

@@ -19,7 +19,6 @@ 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.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.report.ALProcess;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
@@ -94,15 +93,11 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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);
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
@@ -117,10 +112,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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();
}
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@@ -156,9 +148,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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) {
@@ -171,7 +160,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break;
case 14://定位成功
locationKey = true;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位成功");
@@ -181,7 +170,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break;
case 16://定位失败
locationKey = false;
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位失败,点击重试");
@@ -201,7 +190,7 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if ((index == 0 || index == 1) && !BuildConfig.isTest) {//装卸货车辆需要识别车牌号,测试环境不校验车牌号
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
@@ -211,7 +200,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
@@ -339,12 +327,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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);
@@ -358,12 +340,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
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);
}
}
@@ -377,10 +353,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
// 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:
//装货
@@ -564,9 +536,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
@@ -599,9 +568,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
@@ -610,9 +576,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@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);
@@ -638,9 +601,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@Override
public void onSuccess() {
if (!isFinishing() && customDialog != null && customDialog.isShowing()) {
customDialog.dismiss();
}
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
@@ -688,6 +648,8 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
}
/**
* 上传安联和交通厅,平台-装货
*/
@@ -716,9 +678,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@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);
}
});
@@ -756,9 +715,6 @@ public class ShangChuangImgActivity extends BaseAppCompatActivity {
@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);
}
});
@@ -0,0 +1,876 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.amap.api.services.core.AMapException;
import com.amap.api.services.core.LatLonPoint;
import com.amap.api.services.geocoder.GeocodeSearch;
import com.amap.api.services.help.Inputtips;
import com.amap.api.services.help.InputtipsQuery;
import com.amap.api.services.help.Tip;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.utils.ToastUtils;
import com.github.gzuliyujiang.wheelpicker.DatimePicker;
import com.github.gzuliyujiang.wheelpicker.annotation.TimeMode;
import com.github.gzuliyujiang.wheelpicker.entity.DatimeEntity;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.lxj.xpopup.interfaces.OnSelectListener;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgActivity extends BaseAppCompatActivity implements Inputtips.InputtipsListener {
private TextView submit, name_top, name_body, address, tips, tips_x,tvDate,tvLocation;
private RelativeLayout getImg;
private EditText etAddress;
private Button btnOk;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
private String selDate;
private GeocodeSearch geocoderSearch;
private TempLoca tempLoca = new TempLoca();
private TempLoca tempLocaBd = new TempLoca();
@Override
public void onGetInputtips(List<Tip> tipList, int rCode) {
if (rCode == AMapException.CODE_AMAP_SUCCESS) {
List<String> names = new ArrayList<String>();
if(tipList != null) {
int size = tipList.size();
for (int i = 0; i < size; i++) {
Tip tip = tipList.get(i);
if(tip != null) {
names.add(tip.getDistrict()+tip.getName());
}
}
new XPopup.Builder(this)
.isDestroyOnDismiss(true) //对于只使用一次的弹窗,推荐设置这个
.hasShadowBg(false) // 去掉半透明背景
.atView(etAddress)
.asAttachList(names.toArray(new String[0]), new int[]{}, new OnSelectListener() {
@Override
public void onSelect(int position, String text) {
Tip tip = tipList.get(position);
etAddress.setText(tip.getDistrict()+tip.getAddress()+tip.getName());
LatLonPoint latLonPoint = tip.getPoint();
tempLoca.setAddress(etAddress.getText().toString());
tempLoca.setLatitude(latLonPoint.getLatitude());
tempLoca.setLongitude(latLonPoint.getLongitude());
tempLoca.setTime(tvDate.getText().toString());
LatLng latLng = convertGPSToBaidu(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
tempLocaBd.setLongitude(latLng.longitude);
tempLocaBd.setLatitude(latLng.latitude);
tempLocaBd.setAddress(etAddress.getText().toString());
tempLocaBd.setTime(tvDate.getText().toString());
}
})
.show();
// SimpleAdapter aAdapter = new SimpleAdapter(getApplicationContext(), listString, R.layout.item_layout,
// new String[]{"name", "address"}, new int[]{R.id.poi_field_id, R.id.poi_value_id});
//
// minputlist.setAdapter(aAdapter);
// aAdapter.notifyDataSetChanged();
}
} else {
}
}
class TempLoca{
private double latitude;
private double longitude;
private String address;
private String time;
public TempLoca() {
}
public TempLoca(double latitude, double longitude, String address, String time) {
this.latitude = latitude;
this.longitude = longitude;
this.address = address;
this.time = time;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
CacheGroup.cacheList.remove("carName");
}
if (CacheGroup.cacheList.get("carNum") != null) {
Log.e("upload", CacheGroup.cacheList.get("carNum"));
CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class);
if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) {
String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue();
String forceMatching = ub.getData().getForceMatching();
if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验
if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path));
} else {
new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) {
Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
}
}
CacheGroup.cacheList.remove("carNum");
}
break;
case 14://定位成功
locationKey = true;
customDialog.dismiss();
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
customDialog.dismiss();
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan_bc);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
btnOk = findViewById(R.id.btnOk);
etAddress = findViewById(R.id.etAddress);
tvDate = findViewById(R.id.tvDate);
tvLocation = findViewById(R.id.tvLocation);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
}
});
btnOk.setOnClickListener(v -> {
String s = etAddress.getText().toString();
if (TextUtils.isEmpty(selDate)){
ToastUtils.showToast(this,"请先选择时间");
return;
}
if (!TextUtils.isEmpty(s)&&s.length()>=4){
InputtipsQuery inputquery = new InputtipsQuery(s, "");
// inputquery.setCityLimit(true);
Inputtips inputTips = new Inputtips(this, inputquery);
inputTips.setInputtipsListener(this);
inputTips.requestInputtipsAsyn();
// GeocodeQuery query = new GeocodeQuery(s, "100000");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode
// geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
}else{
ToastUtils.showToast(this,"请输入地址且长度大于4");
}
});
tvDate.setOnClickListener(v -> {
DatimePicker datimePicker = new DatimePicker(this);
datimePicker.setBodyWidth(300);
datimePicker.getWheelLayout().setRange(DatimeEntity.yearOnFuture(-1),DatimeEntity.yearOnFuture(10),DatimeEntity.now());
datimePicker.setOnDatimePickedListener((year, month, day, hour, minute, second) -> {
selDate = year+"-"+month+"-"+day+" "+ hour+":"+minute;
tvDate.setText(selDate);
});
datimePicker.getWheelLayout().setDateLabel("", "", "");
datimePicker.getWheelLayout().setTimeLabel("","","");
datimePicker.getWheelLayout().setTimeMode(TimeMode.HOUR_24_NO_SECOND);
datimePicker.show();
});
hyr = new HuoYuanRequset(con, hd);
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, true);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(tempLoca.getLatitude() + "");
lub.setLongitude(tempLoca.getLongitude() + "");
lub.setLocationAddress(tempLoca.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
lub.setRealLoadTime(tempLoca.getTime());
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey&&!TextUtils.isEmpty(tempLoca.address)) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys && !TextUtils.isEmpty(tempLoca.address)) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(tempLocaBd.getTime());
image.setBaiduLongitude(tempLocaBd.longitude);
image.setBaiduLatitude(tempLocaBd.latitude);
image.setLocation(tempLocaBd.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(tempLocaBd.longitude);
l.setBaiduLatitude(tempLocaBd.latitude);
l.setLocation(tempLocaBd.getAddress());
l.setTime(tempLocaBd.getTime());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo4(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
// new MessageUtils().showCenMessage(con, s1);
//运单状态不一致,平台更新状态
hyr.dischargeCargo4(lub);
}
});
}
}
}
@@ -0,0 +1,725 @@
package com.arpa.hndahesudintocctmsdriver.ui.home.shangchuan;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.Nullable;
import com.alct.mdp.MDPLocationCollectionManager;
import com.alct.mdp.callback.OnResultListener;
import com.alct.mdp.model.Goods;
import com.alct.mdp.model.Image;
import com.alct.mdp.model.Location;
import com.arpa.hndahesudintocctmsdriver.R;
import com.arpa.hndahesudintocctmsdriver.bean.BaseBean;
import com.arpa.hndahesudintocctmsdriver.bean.CarInfoBean;
import com.arpa.hndahesudintocctmsdriver.bean.StartOrderBean;
import com.arpa.hndahesudintocctmsdriver.bean.UploadBean;
import com.arpa.hndahesudintocctmsdriver.report.JTTProcess;
import com.arpa.hndahesudintocctmsdriver.request.HuoYuanRequset;
import com.arpa.hndahesudintocctmsdriver.request.OCRRequest;
import com.arpa.hndahesudintocctmsdriver.request.bean.LUInputBean;
import com.arpa.hndahesudintocctmsdriver.request.bean.UploadReceiptInputBean;
import com.arpa.hndahesudintocctmsdriver.util.BitmapUtil;
import com.arpa.hndahesudintocctmsdriver.util.MessageUtils;
import com.arpa.hndahesudintocctmsdriver.util.NfcUtils;
import com.arpa.hndahesudintocctmsdriver.util.alert.CustomDialog;
import com.arpa.hndahesudintocctmsdriver.util.alert.ToastUtil;
import com.arpa.hndahesudintocctmsdriver.util.cache.CacheGroup;
import com.arpa.hndahesudintocctmsdriver.util.file.FileUtil;
import com.arpa.hndahesudintocctmsdriver.util.file.ImageFileCompressUtil;
import com.arpa.hndahesudintocctmsdriver.util.http.RequsetCodeConstants;
import com.arpa.hndahesudintocctmsdriver.util.img.GetCarImageAlert;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationGDUtil;
import com.arpa.hndahesudintocctmsdriver.util.location.LocationUtil;
import com.arpa.hndahesudintocctmsdriver.util.statusbar.StateStyleUtil;
import com.arpa.hndahesudintocctmsdriver.util.time.Timer;
import com.arpa.hndahesudintocctmsdriver.util.view.BaseAppCompatActivity;
import com.baidu.mapapi.model.LatLng;
import com.baidu.mapapi.utils.CoordinateConverter;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.util.SmartGlideImageLoader;
import java.io.File;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class ShangChuangImgActivity extends BaseAppCompatActivity {
private TextView submit, name_top, name_body, address, tips, tips_x;
private RelativeLayout getImg;
private ImageView res_img, img_icon, img_delete;
private String[] names = {"装货", "卸货", "回单"};
public static String[] TYPE_NAME = {"zhuanghuo", "xiehuo", "huidan"};
private int index = 0;
//
private Gson gson = new Gson();
//
private LUInputBean lub = new LUInputBean();
private UploadReceiptInputBean urib = new UploadReceiptInputBean();
private LocationGDUtil lgdu;
public LocationUtil lu;
private List<Integer> imgIds = new ArrayList<>();
private UploadBean ub;
private HuoYuanRequset hyr;
//
private GetCarImageAlert gia = new GetCarImageAlert();
private CustomDialog customDialog;
private int id = 0;
private boolean key = true;
private boolean keys = false;
private boolean locationKey = false;
private TextView tv_loaction;
@Override
public void msgMethod(Message m) {
super.msgMethod(m);
switch (m.what) {
case RequsetCodeConstants.SUCCESS:
if (CacheGroup.cacheList.get("upload") != null) {
Log.e("upload", CacheGroup.cacheList.get("upload"));
ub = gson.fromJson(CacheGroup.cacheList.remove("upload"), UploadBean.class);
if (ub.getCode() == 200) {
imgIds.add(ub.getData().getId());
Glide.with(con).load(ub.getData().getUrl()).into(res_img);
res_img.setVisibility(View.VISIBLE);
img_delete.setVisibility(View.VISIBLE);
img_icon.setVisibility(View.GONE);
key = false;
} else {
Toast.makeText(con, ub.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove("upload");
}
for (int i = 0; i < TYPE_NAME.length; i++) {
if (CacheGroup.cacheList.get(TYPE_NAME[i]) != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get(TYPE_NAME[i]), BaseBean.class);
if (bb.getCode() == 200) {
if (index == 2) {
if (!keys){//装货回单
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
}
} else {
Toast.makeText(con, bb.getMsg(), Toast.LENGTH_SHORT).show();
}
CacheGroup.cacheList.remove(TYPE_NAME[i]);
break;
}
}
if (CacheGroup.cacheList.get("carName") != null) {
BaseBean bb = gson.fromJson(CacheGroup.cacheList.get("carName"), BaseBean.class);
if (bb.getCode() == 200) {
}
CacheGroup.cacheList.remove("carName");
}
if (CacheGroup.cacheList.get("carNum") != null) {
Log.e("upload", CacheGroup.cacheList.get("carNum"));
CarInfoBean ub = gson.fromJson(CacheGroup.cacheList.remove("carNum"), CarInfoBean.class);
if (ub.getCode() == 200 && ub.getData().getData().getPrism_keyValueInfo().size() > 0) {
String value = ub.getData().getData().getPrism_keyValueInfo().get(0).getValue();
String forceMatching = ub.getData().getForceMatching();
if ("1".equals(forceMatching)) {//是否强校验车牌号 1:强校验
if (sob.getData().getCarNumber().equals(value)) {
hyr.uploadFile(new File(path));
} else {
new MessageUtils().showCenMessage(ShangChuangImgActivity.this, "车牌号不匹配!", "请重新拍照或联系管理员");
}
} else {
hyr.uploadFile(new File(path));
}
} else {//识别失败后返回code500
if (index == 0) {//装卸货车辆需要识别车牌号){
Toast.makeText(con, "装货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
} else if (index == 1) {
Toast.makeText(con, "卸货照片包含车牌号、三分之二车身或者装卸货场景。", Toast.LENGTH_SHORT).show();
}
}
CacheGroup.cacheList.remove("carNum");
}
break;
case 14://定位成功
locationKey = true;
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位成功");
tv_loaction.setTextColor(getResources().getColor(R.color.theme_color, null));
latLng = convertGPSToBaidu(new LatLng(lgdu.getLatitude(), lgdu.getLongitude()));
initLocation();
break;
case 16://定位失败
locationKey = false;
if (!isFinishing()&&customDialog!=null&&customDialog.isShowing()){
customDialog.dismiss();
}
tv_loaction.setText("定位失败,点击重试");
tv_loaction.setTextColor(getResources().getColor(R.color.loaction_no_color, null));
Toast.makeText(con, "定位失败,请确认开启定位后重试!", Toast.LENGTH_LONG).show();
//定位结果接收
//finish();
break;
case 15:
break;
case ImageFileCompressUtil.COMPRESS_SUCCESS:
path = (String) m.obj;
Log.e("res:", "选定图片结果");
Log.e("res:", path);
//选定图片结果
// if(index==1 || index==2){
// new OCRRequest().OCRPlateLicense(con,hd,new File(path));
// }
if (index == 0 || index == 1) {//装卸货车辆需要识别车牌号
new OCRRequest().OCRCarPlateLicense(con, hd, new File(path));
} else {
hyr.uploadFile(new File(path));
}
break;
default:
break;
}
}
private LatLng latLng;
public LatLng convertGPSToBaidu(LatLng srLatLng) {
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordinateConverter.CoordType.COMMON);
converter.coord(srLatLng);
return converter.convert();
}
private String wid;
private int h_type;
String sobStr = "";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StateStyleUtil.stateTextColor(this);
setContentView(R.layout.activity_shangchuan);
con = this;
submit = findViewById(R.id.submit);
name_top = findViewById(R.id.name_top);
name_body = findViewById(R.id.name_body);
address = findViewById(R.id.address);
getImg = findViewById(R.id.getImg);
res_img = findViewById(R.id.res_img);
img_icon = findViewById(R.id.img_icon);
img_delete = findViewById(R.id.img_delete);
tv_loaction = findViewById(R.id.tv_loaction);
tips = findViewById(R.id.tips);
tips_x = findViewById(R.id.tips_x);
Bundle ins = getIntent().getExtras();
index = ins.getInt("type");
wid = ins.getString("wid");
h_type = ins.getInt("h_type");
keys = ins.getBoolean("keys");
sobStr = getIntent().getExtras().getString("sob");
//Log.e("---sdwStr--",sdwStr);
sob = new Gson().fromJson(sobStr, StartOrderBean.class);
initView(null);
customDialog = new CustomDialog(con, "正在定位当前位置...");
customDialog.show();
lgdu = new LocationGDUtil(con, hd);
//启动定位
lgdu.onCreate();
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// if (keys) {
// lu = new LocationUtil(con, hd);
// lu.onCreate();
// }
tv_loaction.setOnClickListener(v -> {
if (!locationKey) {
customDialog.show();
lgdu.onCreate();
// lu = new LocationUtil(con, hd);
// lu.onCreate();
}
});
hyr = new HuoYuanRequset(con, hd);
// if (!NfcUtils.hasNfc(con)) {
// Toast.makeText(con,"请先开启nfc",Toast.LENGTH_LONG).show();
// }else{
// initData();
// }
}
public void initData() {
//nfc初始化设置
NfcUtils nfcUtils = new NfcUtils(this);
}
@Override
public void initView(Object obj) {
super.initView(obj);
name_top.setText("上传" + names[index] + "照片");
name_body.setText(names[index] + "照片");
if (index == 1) {
tips.setVisibility(View.VISIBLE);
tips_x.setVisibility(View.VISIBLE);
}
submit.setOnClickListener(v -> {
if (imgIds.size() != 0) {
typeRequest();
} else {
Toast.makeText(con, "请先上传一张图片", Toast.LENGTH_SHORT).show();
}
});
getImg.setOnClickListener(v -> {
if (key) {
Log.e("--imgIds.size()--", imgIds.size() + "");
gia.showPopueWindow(this, index == 2);
} else {
new XPopup.Builder(con)
.asImageViewer(res_img, ub.getData().getUrl(), new SmartGlideImageLoader(R.mipmap.ic_launcher))
.show();
// new XPopup.Builder(con)
// .asImageViewer(res_img, ub.getData().getUrl(), true, -1, -1, 50, false,new CertificatesActivity.ImageLoader())
// .show();
Toast.makeText(con, "查看了照片", Toast.LENGTH_SHORT).show();
}
});
img_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imgIds = new ArrayList<>();
ub = new UploadBean();
res_img.setVisibility(View.GONE);
img_delete.setVisibility(View.GONE);
img_icon.setVisibility(View.VISIBLE);
key = true;
}
});
}
String path;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 12 && resultCode == RESULT_OK) {
if (null == gia.getFile()) {
new ToastUtil(con, Gravity.CENTER, "图片选择失败").show(Toast.LENGTH_SHORT);
return;
}
path = gia.getFile().getPath();
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
} else if (requestCode == PictureConfig.CHOOSE_REQUEST && resultCode == RESULT_OK) {
List<LocalMedia> imgs = PictureSelector.obtainMultipleResult(data);
if (imgs != null && imgs.size() > 0) {
LocalMedia image = imgs.get(0);
String paths = image.getAndroidQToPath();
if (TextUtils.isEmpty(paths)) {
paths = image.getPath();
}
path = paths;
Log.e("图片地址:", path);
gia.dis();
ImageFileCompressUtil.imageFileCompress(con, new File(path), hd);
}
}
}
public void initLocation() {
address.setText(lgdu.getAddress());
}
public void typeRequest() {
// for(int i=0;i<imgIds.size();i++){
// Log.e("--imgIds--",imgIds.get(i)+"");
// }
switch (index) {
case 0:
//装货
if (imgIds != null && imgIds.size() > 0) {
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--装货信息", gson.toJson(lub));
if (locationKey) {//高德定位
if (keys) {
nfc();
loadInfo();
// up_traffic_start();
// up_image_z();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 1:
if (imgIds != null && imgIds.size() > 0) {
//卸货
lub.setLatitude(lgdu.getLatitude() + "");
lub.setLongitude(lgdu.getLongitude() + "");
lub.setLocationAddress(lgdu.getAddress());
lub.setImageId(imgIds);
lub.setWaybillId(wid);
Log.e("--卸货信息", gson.toJson(lub));
if (locationKey) {
if (keys) {
nfc();
uploadInfo();
}
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
case 2:
if (imgIds != null && imgIds.size() > 0) {//卸货回单
//上传回单
urib.setLatitude(lgdu.getLatitude() + "");
urib.setLongitude(lgdu.getLongitude() + "");
urib.setLocationAddress(lgdu.getAddress());
//装卸货类型
urib.setType(h_type + 1);
//回单id 数组
urib.setReceiptId(imgIds);
//子运运单ID
urib.setWaybillId(wid);
Log.e("--回单信息", gson.toJson(urib));
if (locationKey) {
if (index == 2 && keys) {
up_trafficSign();
up_trafficReceipt();
receipt_image();
}
hyr.receipt(urib);
} else {
Toast.makeText(con, "定位异常,请重新定位", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(con, "图片上传异常,请重新上传", Toast.LENGTH_SHORT).show();
}
break;
default:
break;
}
}
private StartOrderBean sob;
public void nfc() {
// if(sob.getData().getNfcId().equals(nfcStr)){
// Toast.makeText(con,"nfcId匹配失败",Toast.LENGTH_LONG).show();
// }
if ("".equals(sob.getData().getNfcId()) || sob.getData().getNfcId() == null) {
return;
}
MDPLocationCollectionManager.checkNfc(con, sob.getData().getShippingNoteNumber(),
sob.getData().getNfcId(), new OnResultListener() {
@Override
public void onSuccess() {
Toast.makeText(con, "nfcId匹配成功", Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(String s, String s1) {
Log.e("不匹配", "" + s + s1);
}
});
}
//上传安联-签收
public void up_trafficSign() {
//安联
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
List<Goods> gs = new ArrayList<>();
for (StartOrderBean.DataDTO.WayChildrenDTO wayChild : sob.getData().getWayChildren()) {
if (wid.equals(wayChild.getId() + "")) {
for (StartOrderBean.DataDTO.WayChildrenDTO.GoodsDTO good : wayChild.getGoods()) {
Goods g = new Goods();
g.setGoodsName(good.getGoodName());
g.setUnit(good.getGoodUnit());
g.setItemNo(good.getId());
//实收
g.setQuantity(1);
//应收
g.setReceivedQuantity(1);
//破损
g.setDamageQuantity(1);
//丢失
g.setQuantity(1);
}
}
}
MDPLocationCollectionManager.sign(con, sob.getData().getShippingNoteNumber(), l, gs, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "签收成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(签收):", s + s1);
}
});
}
//上传安联-回单
public void up_trafficReceipt() {
//安联
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pod(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单上传成功");
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单):", s + s1);
}
});
}
public void up_image_z() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPickupImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货照片):", s + s1);
// SPUtil.insSP(con,"make","装货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","装货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void up_image() {
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadUnloadImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货照片):", s + s1);
// SPUtil.insSP(con,"make","卸货",sob.getData().getShippingNoteNumber());
// SPUtil.insSP(con,"make","卸货-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
// Intent serviceIn=new Intent(con, MakeUpAlService.class);
// startService(serviceIn);
}
});
}
public void receipt_image() {
///storage/emulated/0/Android/data/com.oneclouds.wangluohuoyun/files/Pictures/163124593063154.jpg
File file = new File(path);
Image image = new Image();
String base = BitmapUtil.imageToBase64(path);
image.setFileData("data:image/" + FileUtil.lastName(file) + ";base64," + base);
image.setFileExt(FileUtil.lastName(file));
image.setFileName(FileUtil.fileName(file));
image.setImageTakenDate(Timer.getTimerT());
image.setBaiduLongitude(latLng.longitude);
image.setBaiduLatitude(latLng.latitude);
image.setLocation(lgdu.getAddress());
MDPLocationCollectionManager.uploadPODImage(con, sob.getData().getShippingNoteNumber(), image, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "回单照片上传成功");
Toast.makeText(con, "上传成功", Toast.LENGTH_SHORT).show();
finish();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(回单照片):", s + s1);
// SPUtil.insSP(con,"make","回单",sob.getData().getShippingNoteNumber());
//// SPUtil.insSP(con,"make","回单-"+sob.getData().getShippingNoteNumber(),gson.toJson(image));
//// Intent serviceIn=new Intent(con, MakeUpAlService.class);
//// startService(serviceIn);
}
});
}
@Override
protected void onResume() {
super.onResume();
//开启前台调度系统
//NfcUtils.mNfcAdapter.enableForegroundDispatch(this, NfcUtils.mPendingIntent, NfcUtils.mIntentFilter, NfcUtils.mTechList);
}
@Override
protected void onPause() {
super.onPause();
//关闭前台调度系统
//NfcUtils.mNfcAdapter.disableForegroundDispatch(this);
}
String nfcStr = "";
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
//当该Activity接收到NFC标签时,运行该方法
//调用工具方法,读取NFC数据
try {
nfcStr = NfcUtils.readNFCId(intent);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Log.e("nfc", nfcStr);
}
/**
* 上传安联和交通厅,平台-装货
*/
private void loadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
MDPLocationCollectionManager.pickup(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "装货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.start(con, sob, "");
}
//装货状态
hyr.loading(lub);
//装货照片
up_image_z();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(装货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
/**
* 上传安联和交通厅,平台-卸货
*/
private void uploadInfo() {
//安联
if (sob.getData().getReportAlct() == 1) {
Location l = new Location();
l.setBaiduLongitude(latLng.longitude);
l.setBaiduLatitude(latLng.latitude);
l.setLocation(lgdu.getAddress());
l.setTime(Timer.getTimerT());
Log.e("-安联卸货信息-", gson.toJson(l));
MDPLocationCollectionManager.unload(con, sob.getData().getShippingNoteNumber(), l, new OnResultListener() {
@Override
public void onSuccess() {
Log.e("上报安联", "卸货上传成功");
//交通厅
if (sob.getData().getReport() == 1) {
JTTProcess.stop(con, sob, "");
}
//卸货状态-平台
hyr.dischargeCargo(lub);
//卸货照片-安联
up_image();
}
@Override
public void onFailure(String s, String s1) {
Log.e("上报安联失败(卸货):", s + s1);
new MessageUtils().showCenMessage(con, s1);
}
});
}
}
}
+1 -1
View File
@@ -1,6 +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\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
@@ -29,24 +29,6 @@ public class ToastUtils {
}
}
public static void showLongToast(Context mContext, String message) {
if (!TextUtils.isEmpty(message)) {
// if ( mToast != null) {
// mToast.cancel();
// }
// mToast = Toast.makeText(mContext, message, Toast.LENGTH_SHORT);
// mToast.show();
if (mToast == null) {
mToast = Toast.makeText(mContext, message, Toast.LENGTH_LONG);
} else {
mToast.setText(message);
}
mToast.show();
}
}
public static void cancelToast(){
if (mToast!=null)
mToast.cancel();