package coolbuy360.searchhealth;
import java.util.List;
import java.util.Map;
import coolbuy360.logic.Drug;
import coolbuy360.service.AaynImageLoaderUtil;
import coolbuy360.service.ImageManager;
import coolbuy360.service.Util;
import coolbuy360.service.searchApp;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.TextView;
@SuppressLint("NewApi")
public class ExposureDetail extends Activity {
AaynImageLoaderUtil asynImageLoader;
LinearLayout async_begin;
ImageView imgview;
TextView txtname;
TextView txtdescri;
RatingBar ratdanger;
TextView txtcom;
TextView txt_drugpubtime;
TextView txt_drugresult;
TextView txt_drugdanger;
TextView txt_drugdescri;
TextView txt_drugproducttime;
TextView txt_drugproductnum;
TextView txt_drugresource;
TextView txt_drugdangerhead;
LinearLayout linelayout_danger;
LinearLayout linelayout_drug_desc;
ImageView img_h;
LinearLayout exposure_druglist_item;
LinearLayout exposure_drug_resource_layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
//Ϊ�˳�����
searchApp.getInstance().addActivity(this);
setContentView(R.layout.exposure_detail);
Bundle bundle=new Bundle();
bundle=getIntent().getExtras();
String blacklistID=bundle.getString("drugnameid");
int drugtype=Integer.parseInt(bundle.getString("drugtype"));
ImageButton actionbar_pre_btn=(ImageButton)this.findViewById(R.id.actionbar_pre_btn);
actionbar_pre_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ExposureDetail.this.finish();
}
});
async_begin = (LinearLayout) this.findViewById(R.id.async_begin);
async_begin.setVisibility(View.VISIBLE);
loadData(blacklistID,drugtype);
}
/**
* ��ʼ��������
* @param druglistid
* ҩƷ�б�id
* @param type
* ����id
*/
private void loadData(String druglistid,int type)
{
imgview=(ImageView)this.findViewById(R.id.exposure_listview_img);
txtname=(TextView)this.findViewById(R.id.exposure_listview_name);
txtdescri=(TextView)this.findViewById(R.id.exposure_listview_descri);
ratdanger=(RatingBar)this.findViewById(R.id.exposure_listview_ratingbar);
txtcom=(TextView)this.findViewById(R.id.exposure_listview_com);
txt_drugpubtime=(TextView)this.findViewById(R.id.exposure_drug_pubtime);
txt_drugresult=(TextView)this.findViewById(R.id.exposure_drug_result);
txt_drugdanger=(TextView)this.findViewById(R.id.exposure_drug_danger);
txt_drugdescri=(TextView)this.findViewById(R.id.exposure_drug_decri);
txt_drugproducttime=(TextView)this.findViewById(R.id.exposure_drug_producttime);
txt_drugproductnum=(TextView)this.findViewById(R.id.exposure_drug_productnum);
txt_drugresource=(TextView)this.findViewById(R.id.exposure_drug_resource);
txt_drugdangerhead=(TextView)this.findViewById(R.id.exposure_drug_danger_head);
linelayout_danger=(LinearLayout)this.findViewById(R.id.exposure_drug_danger_layout);
linelayout_drug_desc=(LinearLayout)this.findViewById(R.id.exposure_drug_decri_layout);
img_h=(ImageView)this.findViewById(R.id.exposure_listview_h);
exposure_druglist_item=(LinearLayout)this.findViewById(R.id.exposure_druglist_item_id);
exposure_drug_resource_layout=(LinearLayout)this.findViewById(R.id.exposure_drug_resource_layout);
//1 black 2 red
switch (type) {
case 1:
//List<Map<String,String>> druginfolist=coolbuy360.logic.BlackDrug.getInfo(druglistid);
//druginfo=druginfolist.get(0);
//bindBlack();
new AsyLoad().execute("black",druglistid);
break;
case 2:
//List<Map<String,String>> redruginfolist=coolbuy360.logic.RedDrug.getInfo(druglistid);
//druginfo=redruginfolist.get(0);
//bindRed();
new AsyLoad().execute("red",druglistid);
break;
default:
break;
}
}
private void bindRed(Map<String,String> druginfo) {
final String DrugID=druginfo.get("drugid");
String reddrugimg=druginfo.get("drugimg");
String reddrugname=druginfo.get("drugname");
String redsamplingresults=druginfo.get("samplingresults");
String redexpdescr=druginfo.get(" updescr");
String redexptime=druginfo.get("uptime");//�������
String redproductiondate=druginfo.get("productiondate");
String redbatchnum=druginfo.get("batchnum");//
String redsrctitle=druginfo.get("srctitle");
final String redsrcurl=druginfo.get("srcurl");//Դ����
txtname.setText(reddrugname);
txtdescri.setText("�ϸ�ҩƷ");
txt_drugpubtime.setText(Util.getDateFormat(redexptime, "yyyy-MM-dd"));
txt_drugresult.setText(redsamplingresults);
if (redexpdescr != null && !(redexpdescr.equals(""))) {
txt_drugdescri.setText(redexpdescr);
} else {
linelayout_drug_desc.setVisibility(View.GONE);
}
txt_drugproducttime.setText(Util.getDateFormat(redproductiondate, "yyyy-MM-dd") );
txt_drugproductnum.setText(redbatchnum);
txt_drugresource.setText(redsrctitle);
if (reddrugimg != null && !reddrugimg.equals("")) {
ImageManager.from(this).displayImage(imgview, reddrugimg,
R.drawable.drug_photo_def_pic, 150, 150);
} else {
imgview.setImageResource(R.drawable.drug_photo_def_pic);
}
/*asynImageLoader = new AaynImageLoaderUtil();
asynImageLoader.showImageAsyn(imgview, reddrugimg,
R.drawable.loading);*/
exposure_drug_resource_layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent webIntent=new Intent().setClass(ExposureDetail.this, ExposureWebView.class);
Bundle bundle=new Bundle();
bundle.putString("weburl", redsrcurl);
webIntent.putExtras(bundle);
startActivity(webIntent);
}
});
linelayout_danger.setVisibility(View.GONE);
ratdanger.setVisibility(View.GONE);
txtcom.setVisibility(View.GONE);
exposure_druglist_item.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
List<Map<String, String>> druglist=Drug.getInfo(DrugID);
Map<String, String> map = (Map<String, String>)druglist.get(0);
String drug_name = map.get("drugname");
String drug_id = map.get("drugid");
String drug_imgurl = map.get("drugimg");
String drug_store = map.get("enterprisename");
String drug_otc=map.get("prescriptiontype");
String drug_h=map.get("approvaltype");
String drug_bao=map.get("ishcdrug");
Bundle bundle = new Bundle();
bundle.putString("drugname", drug_name);
bundle.putString("drugid", drug_id);
bundle.putString("drugimg", drug_imgurl);
bundle.putString("drugstore", drug_store);
bundle.putString("h", drug_h.trim());
bundle.putString("otc", drug_otc.trim());
bundle.putString("bao", drug_bao.trim());
Intent drugintent = new Intent().setClass(ExposureDetail.this,
DrugProductDetail.class);// ������һ��activity
drugintent.putExtras(bundle);
startActivity(drugintent);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
private void bindBlack(Map<String,String> druginfo) {
String drugimg=druginfo.get("drugimg");
String drugname=druginfo.get("drugname");
int dangerlever= Integer.parseInt(druginfo.get("dangerlever")) ;
String exptime=druginfo.get("exptime");
String samplingresults=druginfo.get("samplingresults");
String danger=druginfo.get("danger");
String expdescr=druginfo.get(" expdescr");
String productiondate=druginfo.get("productiondate");
String batchnum=druginfo.get("batchnum");//
String srctitle=druginfo.get("srctitle");
final String srcurl=druginfo.get("srcurl");
txtname.setText(drugname);
ratdanger.setRating(dangerlever);
txt_drugpubtime.setText(Util.getDateFormat(exptime, "yyyy-MM-dd ") );
txt_drugresult.setText(samplingresults);
txt_drugdanger.setText(danger);
if (expdescr != null && !(expdescr.equals(""))) {
txt_drugdescri.setText(expdescr);
} else {
linelayout_drug_desc.setVisibility(View.GONE);
}
txt_drugproducttime.setText(Util.getDateFormat(productiondate, "yyyy-MM-dd "));
txt_drugproductnum.setText(batchnum);
txt_drugresource.setText(srctitle);
if (drugimg != null && !drugimg.equals("")) {
ImageManager.from(this).displayImage(imgview, drugimg,
R.drawable.drug_photo_def_pic, 150, 150);
} else {
imgview.setImageResource(R.drawable.drug_photo_def_pic);
}
/*asynImageLoader = new AaynImageLoaderUtil();
asynImageLoader.showImageAsyn(imgview, drugimg,
R.drawable.loading);*/
exposure_drug_resource_layout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent webIntent=new Intent().setClass(ExposureDetail.this, ExposureWebView.class);
Bundle bundle=new Bundle();
bundle.putString("weburl", srcurl);
webIntent.putExtras(bundle);
startActivity(webIntent);
}
});
img_h.setVisibility(View.GONE);
txtdescri.setVisibility(View.GONE);
txtcom.setVisibility(View.VISIBLE);
ratdanger.setVisibility(View.VISIBLE);
}
/*
// ",DRG_RedList.DrugID as DrugID" + //ҩƷID
",DRG_RedList.PubTime as PubTime" + //����ʱ��
",DRG_RedList.UpTime as UpTime" + //�ϰ�ʱ��
",DRG_RedList.ProductionDate as ProductionDate " + //��������
",DRG_RedList.BatchNum as BatchNum " + //����
",DRG_RedList.SamplingResults as SamplingResults " + //�����
",DRG_RedList.SrcURL as SrcURL " + //��Դ��ҳ��ַ
",DRG_RedList.SrcTitle as SrcTitle " + //��Դ��ҳ����
",DRG_RedList.UpDescr as UpDescr " + //�ϰ����
",DRG_Info.DrugName as drugname " + //ҩƷ����
",DRG_Info.DrugImg as DrugImg "; //ҩƷͼƬ
*/
private final class AsyLoad extends AsyncTask<String, Void, Integer>
{
List<Map<String,String>> innerDrugInfolist;
Map<String,String> innerDrugInfo;
Type type=null;
@Override
protected Integer doInBackground(String... params) {
// TODO Auto-generated method stub
if(params.length>0)
{
if(params[0].equals("black"))
{
type=Type.BLACK;
try {
innerDrugInfolist=coolbuy360.logic.BlackDrug.getInfo(params[1]);
innerDrugInfo=innerDrugInfolist.get(0);
if(innerDrugInfo!=null)
{
return (innerDrugInfo.size()>0)?0:1;
}
else
{
return 2;
}
} catch (Exception e) {
// TODO Auto-generated catch block
return 2;
}
}
else
{
type=Type.RED;
try {
innerDrugInfolist=coolbuy360.logic.RedDrug.getInfo(params[1]);
innerDrugInfo=innerDrugInfolist.get(0);
if(innerDrugInfo!=null)
{
return (innerDrugInfo.size()>0)?0:1;
}
else
{
return 2;
}
} catch (Exception e) {
// TODO Auto-generated catch block
return 2;
}
}
}
return null;
}
@Override
protected void onPostExecute(Integer result) {
// TODO Auto-generated method stub
//super.onPostExecute(result);
switch (type)
{
case BLACK:
if(result==0)
{
bindBlack(innerDrugInfo);
async_begin.setVisibility(View.GONE);
}
else if(result==1) {
async_begin.setVisibility(View.GONE);
LinearLayout async_error = (LinearLayout) findViewById(R.id.async_error);
TextView async_error_txt=(TextView)async_error.findViewById(R.id.async_error_txt);
async_error_txt.setText("û���������");
async_error.setVisibility(View.VISIBLE);
}
else if(result==2)
{
async_begin.setVisibility(View.GONE);
LinearLayout async_error = (LinearLayout) findViewById(R.id.async_error);
async_error.setVisibility(View.VISIBLE);
return;
}
break;
case RED:
if(result==0)
{
bindRed(innerDrugInfo);
async_begin.setVisibility(View.GONE);
}
else if(result==1) {
async_begin.setVisibility(View.GONE);
LinearLayout async_error = (LinearLayout) findViewById(R.id.async_error);
TextView async_error_txt=(TextView)async_error.findViewById(R.id.async_error_txt);
async_error_txt.setText("û���������");
async_error.setVisibility(View.VISIBLE);
}
else if(result==2)
{
async_begin.setVisibility(View.GONE);
LinearLayout async_error = (LinearLayout) findViewById(R.id.async_error);
async_error.setVisibility(View.VISIBLE);
return;
}
break;
}
}
}
enum Type
{
BLACK,RED
}
}