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.LinearLayout; 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; @BindView(R.id.vntype) TextView vntype; @BindView(R.id.vndetail_tv_ymname) TextView vndetailTvYmname; @BindView(R.id.vndetail_tv_vnsc) TextView vndetailTvVnsc; @BindView(R.id.vndetail_tv_vncreatdate) TextView vndetailTvVncreatdate; @BindView(R.id.vndetail_tv_vnvalid) TextView vndetailTvVnvalid; @BindView(R.id.ll_shouzhongrenyuan) LinearLayout llShouzhongrenyuan; @BindView(R.id.ll_yumiaoxiangqing) LinearLayout llYumiaoxiangqing; @BindView(R.id.vndetail_tv_tt) TextView vndetailTvTitle; @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) { //Log.e("VnDetailBean",""+dataBean.getType() + " " + dataBean.getStatus()); vndetailTvTitle.setText(dataBean.getVaccineName() + "" + dataBean.getBatch()); if (dataBean.getType() == 2) { vnType.setText("可用性分析:预警"); vntype.setText("受种人员"); llShouzhongrenyuan.setVisibility(View.VISIBLE); llYumiaoxiangqing.setVisibility(View.GONE); } else if (dataBean.getType() == 3) { if (dataBean.getStatus() == 6) { vnType.setText("可用性分析:未见异常"); vntype.setText("受种人员"); llShouzhongrenyuan.setVisibility(View.VISIBLE); llYumiaoxiangqing.setVisibility(View.GONE); } else if (dataBean.getStatus() == 7) { vnType.setText("可用性分析:预警"); vntype.setText("受种人员"); llShouzhongrenyuan.setVisibility(View.VISIBLE); llYumiaoxiangqing.setVisibility(View.GONE); } else { vnType.setText("可用性分析:需复核"); vntype.setText("疫苗详情"); llShouzhongrenyuan.setVisibility(View.GONE); llYumiaoxiangqing.setVisibility(View.VISIBLE); } } else { vnType.setText("可用性分析:未见异常"); vntype.setText("受种人员"); llShouzhongrenyuan.setVisibility(View.VISIBLE); llYumiaoxiangqing.setVisibility(View.GONE); } 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(addZero(dataBean.getInoculatroId())); vndetailTvVnjianhuren.setText("N/A"); vndetailTvVnphone.setText(TextUtils.isEmpty(dataBean.getInoculatroTelePhone()) ? "N/A" : "" + dataBean.getInoculatroTelePhone()); vnTips.setText("提示:温度曲线位于绿色区域为正常;温度曲线位于黄色区域,需做风险评估;温度曲线位于红色区域,且时间累计超过指定时限,应立即停止使用该疫苗产品,启动复核程序。"); vndetailTvYmname.setText(TextUtils.isEmpty(dataBean.getVaccineName()) ? "N/A" : dataBean.getVaccineName() + ""); vndetailTvVnsc.setText(TextUtils.isEmpty(dataBean.getVaccineCategory()) ? "N/A" : dataBean.getVaccineCategory() + ""); vndetailTvVncreatdate.setText(TextUtils.isEmpty(dataBean.getBeginDate()) ? "N/A" : dataBean.getBeginDate() + ""); vndetailTvVnvalid.setText(TextUtils.isEmpty(dataBean.getVaccineExpiryDate()) ? "N/A" : dataBean.getVaccineExpiryDate()); //vndetailTvVncode.setText("evvm Code " + dataBean.getCode()); /* String codeStr = ""; for (int i = 0; i < dataBean.getCodeX().length(); i++) { codeStr = codeStr + "*"; }*/ /* SpannableString spancode = new SpannableString("报告编号 " + 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); }*//* } }, 5, 5 + dataBean.getCodeX().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);*/ vndetailTvVncode.setText("报告编号 " + dataBean.getCodeX()); // 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(TextUtils.isEmpty(dataBean.getGmpName()) ? "N/A" : dataBean.getGmpName()); //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 String addZero(String msg) { //Log.e("addZero1",""+msg + " "+msg.length()); if (TextUtils.isEmpty(msg)) { return "N/A"; } if (msg.length() >= 11) { return msg; } else { String remsg = msg; for (int i = 0; i < 11 - msg.length(); i++) { remsg = "0" + remsg; } // Log.e("addZero",""+remsg + " "+remsg.length()); return remsg; } } 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); } }