|
|
@@ -62,9 +62,8 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
//车辆图片 |
|
|
|
private String carImg1; |
|
|
|
private String carImg2; |
|
|
|
private String carImg3; |
|
|
|
//车辆用户类型 |
|
|
|
private String carUserType; |
|
|
|
//用户证件类型 |
|
|
|
private String userIdType; |
|
|
|
//车辆编号 |
|
|
|
private String curVehicleId; |
|
|
|
|
|
|
@@ -82,14 +81,9 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
curBizContent = JSON.parseObject(json, ResultBean.BizContent.class); |
|
|
|
} |
|
|
|
|
|
|
|
binding.ivHome.setOnClickListener(this::onImage); |
|
|
|
binding.ivSecondaryPage.setOnClickListener(this::onImage); |
|
|
|
binding.ivLocomotive.setOnClickListener(this::onImage); |
|
|
|
|
|
|
|
binding.et17.setOnClickListener(this::initClick); |
|
|
|
binding.et9.setOnClickListener(this::initClick); |
|
|
|
binding.et10.setOnClickListener(this::initClick); |
|
|
|
binding.et18.setOnClickListener(this::initClick); |
|
|
|
binding.ivHome.setOnClickListener(this::initClick); |
|
|
|
binding.ivSecondaryPage.setOnClickListener(this::initClick); |
|
|
|
binding.et19.setOnClickListener(this::initClick); |
|
|
|
binding.btnNext.setOnClickListener(this::initClick); |
|
|
|
|
|
|
|
if (curBizContent == null) return; |
|
|
@@ -97,9 +91,8 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
} |
|
|
|
|
|
|
|
private void setDataToView() { |
|
|
|
carImg1 = curBizContent.vehPosImgUrl; |
|
|
|
carImg2 = curBizContent.vehNegImgUrl; |
|
|
|
carImg3 = curBizContent.vehBodyUrl; |
|
|
|
carImg1 = curBizContent.ownerPosImgUrl; |
|
|
|
carImg2 = curBizContent.ownerNegImgUrl; |
|
|
|
|
|
|
|
if (!FunHelper.isEmpty(carImg1)) { |
|
|
|
GlideApp.with(getActivity()).load(carImg1).into(binding.ivHome); |
|
|
@@ -109,78 +102,37 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
GlideApp.with(getActivity()).load(carImg2).into(binding.ivSecondaryPage); |
|
|
|
} |
|
|
|
|
|
|
|
if (!FunHelper.isEmpty(carImg3)) { |
|
|
|
GlideApp.with(getActivity()).load(carImg3).into(binding.ivLocomotive); |
|
|
|
} |
|
|
|
|
|
|
|
binding.et1.setText(FunHelper.isEmpty(curBizContent.getVehiclePlate()) ? "" : curBizContent.getVehiclePlate()); |
|
|
|
binding.et2.setText(FunHelper.isEmpty(curBizContent.getOwnerName()) ? "" : curBizContent.getOwnerName()); |
|
|
|
binding.et3.setText(FunHelper.isEmpty(curBizContent.getVehicleType()) ? "" : curBizContent.getVehicleType()); |
|
|
|
binding.et4.setText(FunHelper.isEmpty(curBizContent.ownerAddress) ? "" : curBizContent.ownerAddress); |
|
|
|
binding.et5.setText(FunHelper.isEmpty(curBizContent.useCharacter) ? "" : curBizContent.useCharacter); //TODO 没有枚举值 |
|
|
|
binding.et6.setText(FunHelper.isEmpty(curBizContent.getVehicleModel()) ? "" : curBizContent.getVehicleModel()); |
|
|
|
binding.et7.setText(FunHelper.isEmpty(curBizContent.vin) ? "" : curBizContent.vin); |
|
|
|
binding.et8.setText(FunHelper.isEmpty(curBizContent.engineNum) ? "" : curBizContent.engineNum); |
|
|
|
binding.et9.setText(FunHelper.isEmpty(curBizContent.registerDate) ? "" : curBizContent.registerDate); |
|
|
|
binding.et10.setText(FunHelper.isEmpty(curBizContent.getIssueDate()) ? "" : curBizContent.getIssueDate()); |
|
|
|
binding.et11.setText(FunHelper.isEmpty(curBizContent.getApprovedCount()) ? "" : curBizContent.getApprovedCount()); |
|
|
|
binding.et12.setText(FunHelper.isEmpty(curBizContent.maintenaceMass) ? "" : curBizContent.maintenaceMass); |
|
|
|
binding.et13.setText(FunHelper.isEmpty(curBizContent.getVehicleDimensions()) ? "" : curBizContent.getVehicleDimensions()); |
|
|
|
binding.et14.setText(FunHelper.isEmpty(curBizContent.totalMass) ? "" : curBizContent.totalMass); |
|
|
|
binding.et15.setText(FunHelper.isEmpty(curBizContent.permittedWeight) ? "" : curBizContent.permittedWeight); |
|
|
|
binding.et16.setText(FunHelper.isEmpty(curBizContent.permittedTowWeight) ? "" : curBizContent.permittedTowWeight); |
|
|
|
binding.et17.setText(FunHelper.isEmpty(curBizContent.axleCount) ? "" : curBizContent.axleCount); |
|
|
|
binding.et18.setText(FunHelper.isEmpty(curBizContent.customerType) ? "" : EnumBean.backValue(curBizContent.customerType, EnumBean.ID_TYPE)); |
|
|
|
} |
|
|
|
|
|
|
|
private void showDateDialog(TextView textView) { |
|
|
|
new DateDialog.Builder(this) |
|
|
|
.setTitle(getString(R.string.date_title)) |
|
|
|
.setConfirm(getString(R.string.common_confirm)) |
|
|
|
.setCancel(getString(R.string.common_cancel)) |
|
|
|
.setListener((dialog, year, month, day) -> { |
|
|
|
textView.setText(year + "-" + month + "-" + day); |
|
|
|
}).show(); |
|
|
|
binding.et4.setText(FunHelper.isEmpty(curBizContent.ownerIdNum) ? "" : curBizContent.ownerIdNum); |
|
|
|
binding.et19.setText(FunHelper.isEmpty(curBizContent.ownerIdType) ? "" : EnumBean.backValue(curBizContent.ownerIdType, EnumBean.ID_TYPE)); |
|
|
|
} |
|
|
|
|
|
|
|
@SingleClick |
|
|
|
private void initClick(View view) { |
|
|
|
if (view == binding.et17) {//车轴数 |
|
|
|
List<String> data = Arrays.asList("2", "3", "4", "5", "6"); |
|
|
|
new MenuDialog.Builder(this).setGravity(Gravity.CENTER) |
|
|
|
.setList(data).setListener((MenuDialog.OnListener<String>) (dialog, position, string) -> binding. |
|
|
|
et17.setText(string)) |
|
|
|
.show(); |
|
|
|
} else if (view == binding.et10) {//发证日期 |
|
|
|
showDateDialog(binding.et10); |
|
|
|
} else if (view == binding.et9){//注册日期 |
|
|
|
showDateDialog(binding.et9); |
|
|
|
}else if (view == binding.et18) {//车辆用户类型 |
|
|
|
IDTypeDialog.showCarUserTypeDialog(this, new IDTypeDialog.OnUserTypeCallbcak() { |
|
|
|
@Override |
|
|
|
public void onUserType(String userType, String userTypeValue) { |
|
|
|
binding.et18.setText(userType); |
|
|
|
carUserType = userTypeValue; |
|
|
|
} |
|
|
|
}); |
|
|
|
} else if (view == binding.btnNext) {//提交 |
|
|
|
if (view == binding.btnNext) {//提交 |
|
|
|
checkParams(); |
|
|
|
}else if (view == binding.et19){//车主证件类型 |
|
|
|
IDTypeDialog.showIDTypeDialog(this, new IDTypeDialog.OnUserTypeCallbcak() { |
|
|
|
@Override |
|
|
|
public void onUserType(String userType, String userTypeValue) { |
|
|
|
binding.et19.setText(userType); |
|
|
|
userIdType = userTypeValue; |
|
|
|
} |
|
|
|
}); |
|
|
|
}else if(view == binding.ivSecondaryPage){//国徽面 |
|
|
|
onOCRImg(2,binding.ivSecondaryPage); |
|
|
|
}else if (view == binding.ivHome){//人像面 |
|
|
|
onOCRImg(1,binding.ivHome); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void checkParams(){ |
|
|
|
if (FunHelper.isEmpty(carImg1) || FunHelper.isEmpty(carImg2) || FunHelper.isEmpty(carImg3)){ |
|
|
|
toast("请上传车辆相关图片"); |
|
|
|
if (FunHelper.isEmpty(carImg1) || FunHelper.isEmpty(carImg2)){ |
|
|
|
toast("请上传车主相关证件照"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
//|| empty(binding.et5,"使用性质") |
|
|
|
if (empty(binding.et1,"车牌号") || empty(binding.et2,"所有人") || empty(binding.et3,"车辆类型") |
|
|
|
|| empty(binding.et4,"地址") || empty(binding.et6,"品牌型号") |
|
|
|
|| empty(binding.et7,"车辆识别代码") || empty(binding.et8,"发动机号码") || empty(binding.et9,"注册日期") |
|
|
|
|| empty(binding.et10,"发证日期") || empty(binding.et11,"核定载人数") || empty(binding.et12,"整备质量") |
|
|
|
|| empty(binding.et13,"外廓尺寸") || empty(binding.et4,"总质量") || empty(binding.et15,"核定载质量") |
|
|
|
|| empty(binding.et16,"准牵引总质量") || empty(binding.et17,"车轴数") || empty(binding.et18,"车辆用户类型")){ |
|
|
|
if (empty(binding.et2,"车主姓名") || empty(binding.et4,"车主证件号") || empty(binding.et19,"车主证件类型")){ |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
@@ -209,11 +161,15 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//TODO 只要一个车辆编号? |
|
|
|
private Map<String, String> getParams() { |
|
|
|
Map<String, String> params = new HashMap<>(); |
|
|
|
params.put("customerId", curBizContent.getCustomerId()); |
|
|
|
params.put("vehicleId", curVehicleId); |
|
|
|
params.put("ownerName", FunHelper.getText(binding.et2)); |
|
|
|
params.put("ownerIdNum", FunHelper.getText(binding.et4)); |
|
|
|
params.put("ownerIdType",userIdType); |
|
|
|
params.put("ownPosImgUrl",carImg1); |
|
|
|
params.put("ownNegImgUrl",carImg2); |
|
|
|
params.put("openId", (String) MyShared.getInstance().get(MyShared.OPENID, "")); |
|
|
|
return params; |
|
|
|
} |
|
|
@@ -238,119 +194,57 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 需要识别的图片 |
|
|
|
* |
|
|
|
* @param type 1-用户正面照 2-用户反面照 |
|
|
|
* @param imageView |
|
|
|
*/ |
|
|
|
@SuppressLint({"NewApi", "LogNotTimber"}) |
|
|
|
@SingleClick |
|
|
|
public void onImage(View view) { |
|
|
|
private void onOCRImg(int type, ImageView imageView) { |
|
|
|
ImageSelectActivity.start(this, data -> { |
|
|
|
file = new File(data.get(0)); |
|
|
|
if (view != binding.ivLocomotive) { |
|
|
|
Luban.with(this).load(file).ignoreBy(100).setCompressListener(new OnCompressListener() { |
|
|
|
@Override |
|
|
|
public void onStart() { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onSuccess(File file) { |
|
|
|
postDelayed(() -> OCRspot(QRCode.imageToBase64(file.getPath()), (ImageView) view, file.getPath(), file), 200); |
|
|
|
} |
|
|
|
Luban.with(this).load(file).ignoreBy(100).setCompressListener(new OnCompressListener() { |
|
|
|
@Override |
|
|
|
public void onStart() { |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onError(Throwable e) { |
|
|
|
} |
|
|
|
}).launch(); |
|
|
|
} else { |
|
|
|
FatherBean<SendTheVerificationCodeBean> fatherBean = new FatherBean<>(); |
|
|
|
fatherBean.bizContent = new SendTheVerificationCodeBean(); |
|
|
|
fatherBean.setFilename("CSMSN_OCR_FILEUPLOAD_REQ_"); |
|
|
|
fatherBean.bizContent.setFileName(Math.random() + "_" + DateTimeFormatter.ofPattern("yyyyMMddHHmmss").toString()); |
|
|
|
fatherBean.bizContent.setFileBase64(QRCode.imageToBase64(data.get(0))); |
|
|
|
destroy(); |
|
|
|
showDialog("图片文件上传中..."); |
|
|
|
RequestParameters parameters1 = new RequestParameters(IFCode.IFCODE17, new Gson().toJson(fatherBean.bizContent)); |
|
|
|
new MyRetrofit().getRetrofit().create(Api.class).message2(parameters1).enqueue(new Converter<Result>(true) { |
|
|
|
@Override |
|
|
|
protected void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent1) { |
|
|
|
ResultBean.ProductInfo decVehInfo = Gson().fromJson(String.valueOf(resultBean.getBizContent()), ResultBean.ProductInfo.class); |
|
|
|
hideDialog(); |
|
|
|
GlideApp.with(getActivity()).load(data.get(0)).into((ImageView) view); |
|
|
|
if (!TextUtils.isEmpty(decVehInfo.data.getUrl())) { |
|
|
|
carImg3 = decVehInfo.data.getUrl(); |
|
|
|
} |
|
|
|
} |
|
|
|
@Override |
|
|
|
public void onSuccess(File file) { |
|
|
|
postDelayed(() -> OCRspot(type, QRCode.imageToBase64(file.getPath()), |
|
|
|
imageView, file.getPath(), file), 200); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public void onError(String err, Response<Result> resp) { |
|
|
|
super.onError(err, resp); |
|
|
|
hideDialog(); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
@Override |
|
|
|
public void onError(Throwable e) { |
|
|
|
} |
|
|
|
}).launch(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressLint({"LogNotTimber", "NewApi"}) |
|
|
|
public void OCRspot(String base64, ImageView imageView, String mAvatarUrl, File outputFile) { |
|
|
|
public void OCRspot(int type, String base64, ImageView imageView, String mAvatarUrl, File outputFile) { |
|
|
|
FatherBean<SendTheVerificationCodeBean> fatherBean = new FatherBean<>(); |
|
|
|
fatherBean.bizContent = new SendTheVerificationCodeBean(); |
|
|
|
fatherBean.setFilename("CSMSN_OCR_VEHICLE_REQ_"); |
|
|
|
fatherBean.bizContent.setSource("1"); |
|
|
|
fatherBean.bizContent.setAgencyId("52010106004"); |
|
|
|
fatherBean.bizContent.setImageType(imageView == binding.ivHome ? "1" : "2"); //1正,2反 |
|
|
|
fatherBean.bizContent.setImageType(String.valueOf(type)); //1正,2反 |
|
|
|
fatherBean.bizContent.setFileName(System.currentTimeMillis() + ".png"); |
|
|
|
fatherBean.bizContent.setImageBase64(base64); |
|
|
|
destroy(); |
|
|
|
showDialog("证件信息识别中..."); |
|
|
|
|
|
|
|
RequestParameters parameters1 = new RequestParameters(IFCode.IFCODE16, new Gson().toJson(fatherBean.bizContent)); |
|
|
|
RequestParameters parameters1 = new RequestParameters(IFCode.IFCODE15, new Gson().toJson(fatherBean.bizContent)); |
|
|
|
new MyRetrofit().getRetrofit().create(Api.class).message2(parameters1).enqueue(new Converter<Result>() { |
|
|
|
@Override |
|
|
|
protected void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent1) { |
|
|
|
hideDialog(); |
|
|
|
GlideApp.with(getActivity()).load(mAvatarUrl).into(imageView); |
|
|
|
if (imageView == binding.ivHome) { |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getPlate_a())) { |
|
|
|
binding.et1.setText(bizContent1.getPlate_a()); //车牌号 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getVehicle())) { |
|
|
|
binding.et3.setText(bizContent1.getVehicle()); //车辆类型 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getMan())) { |
|
|
|
binding.et2.setText(bizContent1.getMan()); //所有人 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getModel())) { |
|
|
|
binding.et6.setText(bizContent1.getModel()); //品牌型号 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getVin())) { |
|
|
|
binding.et7.setText(bizContent1.getVin()); //车辆识别代码 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getEngine())) { |
|
|
|
binding.et8.setText(bizContent1.getEngine()); //发动机号码 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getRegister())) { |
|
|
|
binding.et10.setText(bizContent1.getRegister()); //发证日期 |
|
|
|
} |
|
|
|
if (type == 1) {//用户正面 |
|
|
|
carImg1 = bizContent1.getImageUrl(); |
|
|
|
} |
|
|
|
if (imageView == binding.ivSecondaryPage) { |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getApc())) { |
|
|
|
binding.et11.setText(bizContent1.getApc().replaceAll("人", "")); //核定载人数 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getGross())) { |
|
|
|
binding.et14.setText(bizContent1.getGross().replaceAll("kg", "")); //总质量 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getUnladen())) { |
|
|
|
binding.et12.setText(bizContent1.getUnladen().replaceAll("kg", "")); //整备质量 |
|
|
|
} |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getOverall())) { |
|
|
|
binding.et13.setText(bizContent1.getOverall().replaceAll("mm", "")); //尺寸 |
|
|
|
} |
|
|
|
//大车专属 |
|
|
|
if (!TextUtils.isEmpty(bizContent1.getAlc())) { |
|
|
|
binding.et15.setText(bizContent1.getAlc().replaceAll("kg", "")); //核定载质量 |
|
|
|
} |
|
|
|
|
|
|
|
if (!TextUtils.isEmpty(bizContent1.getTowing())) { |
|
|
|
binding.et16.setText(bizContent1.getTowing().replaceAll("kg", "")); //准牵引总质量 |
|
|
|
} |
|
|
|
binding.et2.setText(bizContent1.getName()); |
|
|
|
binding.et4.setText(bizContent1.getIdno()); |
|
|
|
} else if (type == 2) {//用户反面-过期时间 |
|
|
|
carImg2 = bizContent1.getImageUrl(); |
|
|
|
} |
|
|
|
if (outputFile != null) { |
|
|
@@ -377,14 +271,6 @@ public class EditCarInfoStep2Activity extends AppActivity { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void onDestroy() { |
|
|
|
if (file != null && file.exists()) { |
|
|
|
file.delete(); |
|
|
|
} |
|
|
|
super.onDestroy(); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
protected void initData() { |
|
|
|
|