package eVVM.apk.ui.report.vndetail; import android.content.Intent; import android.text.SpannableString; import android.text.Spanned; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.text.style.ClickableSpan; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import com.hjq.image.ImageLoader; import butterknife.BindView; import butterknife.OnClick; import eVVM.apk.R; import eVVM.apk.mvp.MvpActivity; import eVVM.apk.ui.bean.ModelListBean; import eVVM.apk.ui.bean.VerificationCodeBean; import eVVM.apk.ui.bean.VnDetailBean; import eVVM.apk.ui.webview.WebActivity; import eVVM.apk.widget.ZoomView; public class VnReportDetailActivity extends MvpActivity implements VnDetailContract.View { @BindView(R.id.vndetail_tv_vncode) TextView vndetailTvVncode; @BindView(R.id.vndetail_tv_vndate) TextView vndetailTvVndate; @BindView(R.id.vndetail_tv_factoryName) TextView vndetailTvFactoryName; @BindView(R.id.vndetail_tv_gmpName) TextView vndetailTvGmpName; @BindView(R.id.vndetail_tv_gmpPath) TextView vndetailTvGmpPath; @BindView(R.id.vndetail_tv_hospitalName) TextView vndetailTvHospitalName; @BindView(R.id.vndetail_tv_doctorName) TextView vndetailTvDoctorName; @BindView(R.id.vndetail_tv_doctorTelephone) TextView vndetailTvDoctorTelephone; @BindView(R.id.vndetail_tv_chatImage) ImageView vndetailTvChatImage; @BindView(R.id.vndetail_tv_othervn1) TextView vndetailTvOthervn1; @BindView(R.id.vndetail_tv_othervn2) TextView vndetailTvOthervn2; @BindView(R.id.vndetail_tv_othervn3) TextView vndetailTvOthervn3; @BindView(R.id.vndetail_iv_tipsimg) ImageView vndetailIvTipsimg; @BindView(R.id.vndetail_tv_tips) TextView vndetailTvTips; @BindView(R.id.vndetail_tv_disclaimer) TextView vndetailTvDisclaimer; @BindView(R.id.zv_report) ZoomView myzoomview; @BindView(R.id.vndetail_tv_vnname) TextView vndetailTvVnname; @BindView(R.id.vndetail_tv_vnsex) TextView vndetailTvVnsex; @BindView(R.id.vndetail_tv_vnbirthday) TextView vndetailTvVnbirthday; @BindView(R.id.vndetail_tv_vncodeid) TextView vndetailTvVncodeid; @BindView(R.id.vndetail_tv_vnjianhuren) TextView vndetailTvVnjianhuren; @BindView(R.id.vndetail_tv_vnphone) TextView vndetailTvVnphone; @BindView(R.id.vn_type) TextView vnType; @BindView(R.id.vn_tips) TextView vnTips; @Override protected int getLayoutId() { return R.layout.activity_vn_report_detail; } @Override protected int getTitleId() { return R.id.tb_vndetail_title; } @Override protected void initView() { } @Override protected void initData() { Intent in = getIntent(); showLoading(); String vnchipNumber = in.getStringExtra("VnchipNumber"); getPresenter().getDetail(vnchipNumber); } @Override protected VnDetailPresenter createPresenter() { return new VnDetailPresenter(); } @Override public void getDetailError(String msg) { showComplete(); toast(msg); finish(); } @Override public void getDetailSuccess(VnDetailBean data) { showComplete(); VnDetailBean.DataBean dataBean = data.getData(); //给页面赋值 setViewData(dataBean); // toast(data.getData().toString()); i("getDetailSuccess", data.getData().toString()); } @OnClick({R.id.vndetail_bt_magnifier}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.vndetail_bt_magnifier: //放大 myzoomview.magnifier(); break; } } @Override public void getSendMailError(String msg) { } @Override public void getSendMailSuccess(VnDetailBean data) { } @Override public void getmlistError(String msg) { } @Override public void getmlistSuccess(ModelListBean data) { } @Override public void getToReviewError(String msg) { } @Override public void getToReviewSuccess(VerificationCodeBean data) { } private void setViewData(final VnDetailBean.DataBean dataBean) { vndetailTvVnname.setText(TextUtils.isEmpty(dataBean.getInoculatroUserName()) ? "N/A" : "" + dataBean.getInoculatroUserName()); vndetailTvVnsex.setText(TextUtils.isEmpty(dataBean.getInoculatroSex()) ? "N/A" : "" + dataBean.getInoculatroSex()); vndetailTvVnbirthday.setText(TextUtils.isEmpty(dataBean.getInoculatroBirthdate()) ? "N/A" : "" + dataBean.getInoculatroBirthdate()); vndetailTvVncodeid.setText(TextUtils.isEmpty(dataBean.getInoculatroId()) ? "N/A" : "" + dataBean.getInoculatroId()); vndetailTvVnjianhuren.setText("N/A"); vndetailTvVnphone.setText(TextUtils.isEmpty(dataBean.getInoculatroTelePhone()) ? "N/A" : "" + dataBean.getInoculatroTelePhone()); vnTips.setText("提示:温度曲线位于绿色区域为正常;温度曲线位于黄色区域,需做风险评估;温度曲线位于红色区域,且时间累计超过指定时限,应立即停止使用该疫苗产品,启动复核程序。"); if (dataBean.getType() == 2) { vnType.setText("可用性分析:预警"); } else if (dataBean.getType() == 3) { vnType.setText("可用性分析:需复核"); } else { vnType.setText("可用性分析:未见异常"); } //vndetailTvVncode.setText("evvm Code " + dataBean.getCode()); /* String codeStr = ""; for (int i = 0; i < dataBean.getCodeX().length(); i++) { codeStr = codeStr + "*"; }*/ SpannableString spancode = new SpannableString("evvm 报告编号 " + dataBean.getCodeX()); spancode.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 /* if (dataBean.getCodeX() == null || TextUtils.isEmpty(dataBean.getCodeX())) { toast("你没有授权,请进行注册"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getCodeX() + ""); startActivity(in); }*/ } }, 10, 10 + dataBean.getCodeX().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvVncode.setText(spancode); vndetailTvVncode.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 if (dataBean.getDatetime() != null) { vndetailTvVndate.setText(dataBean.getDatetime()); } vndetailTvFactoryName.setText("" + dataBean.getFactoryName()); vndetailTvHospitalName.setText("" + dataBean.getHospitalName()); vndetailTvDoctorName.setText("" + dataBean.getDoctorName()); vndetailTvDoctorTelephone.setText("" + dataBean.getDoctorTelephone()); vndetailTvChatImage.setScaleType(ImageView.ScaleType.CENTER); if (!TextUtils.isEmpty(dataBean.getChatImageUrl())) { ImageLoader.loadImage(vndetailTvChatImage, dataBean.getChatImageUrl()); } SpannableString spanGmpPath = new SpannableString(TextUtils.isEmpty(dataBean.getGmpName()) ? "N/A" : dataBean.getGmpName()); spanGmpPath.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getGmpPath() == null || TextUtils.isEmpty(dataBean.getGmpPath())) { toast("暂时无法提供,需索取"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getGmpPath() + ""); startActivity(in); } } }, 0, spanGmpPath.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvGmpName.setText(spanGmpPath); vndetailTvGmpName.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn0 = new SpannableString("点击查看"); spanvndetailTvOthervn0.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getBatchCertificate() == null || TextUtils.isEmpty(dataBean.getBatchCertificate())) { toast("暂时无法提供,需索取"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getBatchCertificate() + ""); startActivity(in); } } }, 0, spanvndetailTvOthervn0.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvGmpPath.setText(spanvndetailTvOthervn0); vndetailTvGmpPath.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn1 = new SpannableString("点击查询"); spanvndetailTvOthervn1.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameBatchOtherColdChain() == null || TextUtils.isEmpty(dataBean.getSameBatchOtherColdChain())) { toast("暂时无法提供,需索取"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getSameBatchOtherColdChain() + ""); startActivity(in); } } }, 0, spanvndetailTvOthervn1.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn1.setText(spanvndetailTvOthervn1); vndetailTvOthervn1.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn2 = new SpannableString("点击查询"); spanvndetailTvOthervn2.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameBatchOtherFlow() == null || TextUtils.isEmpty(dataBean.getSameBatchOtherFlow())) { toast("暂时无法提供,需索取"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getSameBatchOtherFlow() + ""); startActivity(in); } } }, 0, spanvndetailTvOthervn2.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn2.setText(spanvndetailTvOthervn2); vndetailTvOthervn2.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 SpannableString spanvndetailTvOthervn3 = new SpannableString("点击查询"); spanvndetailTvOthervn3.setSpan(new ClickableSpan() { @Override public void onClick(View view) { //点击的响应事件 if (dataBean.getSameFactoryOtherVaccines() == null || TextUtils.isEmpty(dataBean.getSameFactoryOtherVaccines())) { toast("暂时无法提供,需索取"); } else { Intent in = new Intent(VnReportDetailActivity.this, WebActivity.class); in.putExtra("WebViewUrl", "" + dataBean.getSameFactoryOtherVaccines() + ""); startActivity(in); } } }, 0, spanvndetailTvOthervn3.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); vndetailTvOthervn3.setText(spanvndetailTvOthervn3); vndetailTvOthervn3.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件 } public static void i(String tag, String msg) { //信息太长,分段打印 //因为String的length是字符数量不是字节数量所以为了防止中文字符过多, // 把4*1024的MAX字节打印长度改为2001字符数 int max_str_length = 2001 - tag.length(); //大于4000时 while (msg.length() > max_str_length) { Log.i(tag, msg.substring(0, max_str_length)); msg = msg.substring(max_str_length); } //剩余部分 Log.i(tag, msg); } }