package com.quark.company.function; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import org.json.JSONException; import org.json.JSONObject; import android.content.DialogInterface; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.RelativeLayout; import android.widget.TextView; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request.Method; import com.android.volley.Response; import com.android.volley.Response.ErrorListener; import com.android.volley.VolleyError; import com.android.volley.toolbox.ImageRequest; import com.android.volley.toolbox.StringRequest; import com.carson.constant.ConstantForSaveList; import com.qingmu.jianzhidaren.R; import com.quark.common.JsonUtil; import com.quark.common.Url; import com.quark.http.image.CircularImage; import com.quark.http.image.LoadImage; import com.quark.jianzhidaren.BaseActivity; import com.parttime.main.MainTabActivity; import com.quark.model.CancelApply; import com.quark.ui.widget.CustomDialogThree; /** * 评价人员详情 * * @author Administrator * */ public class PersonAssessDetailActivity extends BaseActivity { private RadioGroup radioGroup1; private RadioGroup radioGroup2; private Boolean changeedGroup = false; private String user_id, activity_id, url_ziliao, url_comtent, type_st, neirong, text, text2; private CancelApply cancelApply; private TextView cancel_name, age, note; private ImageView iconc, yan_img, cyj_img, sex_img; private Button gree_cancel; private RadioButton radioButton1, radioButton2; private EditText content; private int status; int[] heartImg = { R.id.xinyi_bt1, R.id.xinyi_bt2, R.id.xinyi_bt3, R.id.xinyi_bt4, R.id.xinyi_bt5, R.id.xinyi_bt6, R.id.xinyi_bt7, R.id.xinyi_bt8, R.id.xinyi_bt9, R.id.xinyi_bt10 }; @Override public void onCreate(Bundle saveInstanceState) { super.onCreate(saveInstanceState); setContentView(R.layout.company_evaluation_person); setBackButton(); setTopTitle("人员评价"); RelativeLayout topLayout = (RelativeLayout) findViewById(R.id.top_title_layout); topLayout.setBackgroundColor(getResources().getColor( R.color.guanli_common_color)); /** * 实现RadioGroup单选互斥选择的逻辑,否则出现多选 */ radioGroup1 = (RadioGroup) findViewById(R.id.orderBy1); radioGroup1 .setOnCheckedChangeListener(new MyRadioGroupOnCheckedChangedListener()); radioGroup2 = (RadioGroup) findViewById(R.id.orderBy2); radioGroup2 .setOnCheckedChangeListener(new MyRadioGroupOnCheckedChangedListener()); // /////// activity_id = getIntent().getStringExtra("activity_id"); user_id = getIntent().getStringExtra("user_id"); url_ziliao = Url.COMPANY_cancelApply + "?token=" + MainTabActivity.token; url_comtent = Url.COMPANY_commentRequirer + "?token=" + MainTabActivity.token; getData(); // 评价 gree_cancel = (Button) findViewById(R.id.gree_cancel); gree_cancel.setText("提交评论"); content = (EditText) findViewById(R.id.cancel_neirong); gree_cancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { comfiyComment(); } }); } private void setComment() { radioButton1 = (RadioButton) findViewById(radioGroup1 .getCheckedRadioButtonId()); radioButton2 = (RadioButton) findViewById(radioGroup2 .getCheckedRadioButtonId()); if (radioButton1 != null) { text = radioButton1.getText().toString().replaceAll(" ", ""); // 去掉字符串空格 type_st = text; } if (radioButton2 != null) { text2 = radioButton2.getText().toString().replaceAll(" ", ""); type_st = text2; } if (type_st.equals("优秀")) { content.setText("做的很好,非常感谢你对本次活动的支持与配合。"); } else if (type_st.equals("中评")) { content.setText("期待下次与你合作;"); } else if (type_st.equals("差评")) { content.setText("其实你可以做的很好;"); } else if (type_st.equals("放飞机")) { content.setText("如临时有事,希望提前告知。"); } } private void comfiyComment() { radioButton1 = (RadioButton) findViewById(radioGroup1 .getCheckedRadioButtonId()); radioButton2 = (RadioButton) findViewById(radioGroup2 .getCheckedRadioButtonId()); if (radioButton1 != null) { text = radioButton1.getText().toString().replaceAll(" ", ""); // 去掉字符串空格 type_st = text; } if (radioButton2 != null) { text2 = radioButton2.getText().toString().replaceAll(" ", ""); type_st = text2; } neirong = content.getText().toString(); if (neirong != null && neirong.length() > 0) { gree_cancel.setClickable(false); StringRequest stringRequest = new StringRequest(Method.POST, url_comtent, new Response.Listener<String>() { @Override public void onResponse(String response) { try { JSONObject js = new JSONObject(response); JSONObject jss = js .getJSONObject("AgreeCancelApplyResponse"); status = jss.getInt("status"); if (status == 2) { String msg = jss.getString("msg"); showAlertDialog2(msg, "温馨提示"); } else { getResult(); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { gree_cancel.setClickable(true); showToast("提交失败"); } }) { @Override protected Map<String, String> getParams() { Map<String, String> map = new HashMap<String, String>(); map.put("user_id", user_id); map.put("activity_id", activity_id); map.put("comment", type_st); map.put("remark", neirong + "");// 评语 return map; } }; queue.add(stringRequest); stringRequest.setRetryPolicy(new DefaultRetryPolicy(ConstantForSaveList.DEFAULTRETRYTIME*1000, 1, 1.0f)); } else { showToast("请输入评语"); } } // 评论结果 protected void getResult() { if (status == 1) { showToast("评价成功"); PersonAssessDetailActivity.this.finish(); } else { gree_cancel.setClickable(true); showToast("提交失败"); } } // 异步加载数据 private void getData() { showWait(true); StringRequest stringRequest = new StringRequest(Method.POST, url_ziliao, new Response.Listener<String>() { @Override public void onResponse(String response) { showWait(false); try { JSONObject js = new JSONObject(response); JSONObject jss = js .getJSONObject("CancelApplyResponse"); cancelApply = (CancelApply) JsonUtil.jsonToBean( jss, CancelApply.class); initView(); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { showWait(false); } }) { @Override protected Map<String, String> getParams() { Map<String, String> map = new HashMap<String, String>(); map.put("user_id", user_id); map.put("activity_id", activity_id); return map; } }; queue.add(stringRequest); stringRequest .setRetryPolicy(new DefaultRetryPolicy(ConstantForSaveList.DEFAULTRETRYTIME*1000, 1, 1.0f)); } protected void initView() { cancel_name = (TextView) findViewById(R.id.cancel_name); cancel_name.setText(cancelApply.getName()); sex_img = (ImageView) findViewById(R.id.item_sex_imv); if (cancelApply.getSex() == -1) { sex_img.setVisibility(View.INVISIBLE); } else if (cancelApply.getSex() == 0) { sex_img.setImageResource(R.drawable.my_women); sex_img.setVisibility(View.VISIBLE); } else { sex_img.setImageResource(R.drawable.my_men); sex_img.setVisibility(View.VISIBLE); } age = (TextView) findViewById(R.id.age); age.setText(cancelApply.getAge() + "岁"); note = (TextView) findViewById(R.id.note); if (cancelApply.getNote() == null || cancelApply.getNote().equals("")) { note.setText("没有填写理由。"); } else { note.setText(cancelApply.getNote()); } yan_img = (ImageView) findViewById(R.id.yan_img); if (cancelApply.getCertification() == 2) { yan_img.setImageResource(R.drawable.my_certified); } else { yan_img.setImageResource(R.drawable.my_unauthorized); } cyj_img = (ImageView) findViewById(R.id.cyj_img); if (cancelApply.getEarnest_money() == 1) { cyj_img.setImageResource(R.drawable.my_margin); } else { cyj_img.setImageResource(R.drawable.my_ordinary); } CircularImage cover_user_photo = (CircularImage) findViewById(R.id.cover_user_photo); if (cancelApply.getPicture_1() == null || cancelApply.getPicture_1().equals("")) { } else { // LoadImage.loadImage(Url.GETPIC + cancelApply.getPicture_1(), // cover_user_photo); checkPhotoExits(cancelApply.getPicture_1(), cover_user_photo); } addXinToView(cancelApply.getCreditworthiness()); } class MyRadioGroupOnCheckedChangedListener implements OnCheckedChangeListener { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (!changeedGroup) { changeedGroup = true; if (group == radioGroup1) { radioGroup2.clearCheck(); setComment(); } else if (group == radioGroup2) { radioGroup1.clearCheck(); setComment(); radioButton2 = (RadioButton) findViewById(radioGroup2 .getCheckedRadioButtonId()); text2 = radioButton2.getText().toString() .replaceAll(" ", ""); if (text2.equals("放飞机")) { showAlertDialog("评价放飞机,该用户将会被封号处理,您确定TA未提前通知您吗?", "温馨提示"); } } changeedGroup = false; } } } public void showAlertDialog2(String str, final String str2) { CustomDialogThree.Builder builder = new CustomDialogThree.Builder(this); builder.setMessage(str); builder.setTitle(str2); builder.setPositiveButton("我知道了", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } public void showAlertDialog(String str, final String str2) { CustomDialogThree.Builder builder = new CustomDialogThree.Builder(this); builder.setMessage(str); builder.setTitle(str2); builder.setPositiveButton("点错了", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); RadioButton youxiu = (RadioButton) findViewById(R.id.youxiu); youxiu.setChecked(true); } }); builder.setNegativeButton("确认", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); RadioButton feiji = (RadioButton) findViewById(R.id.wind_type_wangongjie); feiji.setChecked(true); } }); builder.create().show(); } /** * 信誉值 * * @param xin * @param convertView */ private void addXinToView(int xin) { if (xin > 0) { int heartCount = xin / 10; int heartHeart = xin % 10; int j = 0; if (heartCount > 9) { ImageView imageView = (ImageView) findViewById(heartImg[0]); imageView.setVisibility(View.VISIBLE); imageView.setImageResource(R.drawable.icon_heart_ten); } else { for (int i = 0; i < heartCount; i++) { ImageView imageView = (ImageView) findViewById(heartImg[i]); imageView.setVisibility(View.VISIBLE); imageView.setImageResource(R.drawable.icon_heart); j = i; } if (heartHeart == 5) { ImageView imageView = (ImageView) findViewById(heartImg[j + 1]); imageView.setImageResource(R.drawable.icon_heart_half); imageView.setVisibility(View.VISIBLE); } // 用于刷新UI if (heartCount < 9) { for (int ii = j + 2; ii < 10; ii++) { ImageView imageView = (ImageView) findViewById(heartImg[ii]); imageView.setVisibility(View.GONE); } } } } else { for (int a = 0; a < 10; a++) { ImageView imageView = (ImageView) findViewById(heartImg[a]); imageView.setVisibility(View.GONE); } } } /** * 判断本地是否存储了之前的照片 * */ private void checkPhotoExits(String picName, ImageView iv) { File mePhotoFold = new File(Environment.getExternalStorageDirectory() + "/" + "jzdr/" + "image"); if (!mePhotoFold.exists()) { mePhotoFold.mkdirs(); } File f = new File(Environment.getExternalStorageDirectory() + "/" + "jzdr/" + "image/" + picName); if (f.exists()) { // Bitmap bb_bmp = MyResumeActivity.zoomImg(f, 300, 300); Bitmap bb_bmp = BitmapFactory.decodeFile(Environment .getExternalStorageDirectory() + "/" + "jzdr/" + "image/" + picName); if (bb_bmp != null) { iv.setImageBitmap(LoadImage.toRoundBitmap(bb_bmp)); } else { loadpersonPic(picName, iv, 0); } } else { loadpersonPic(picName, iv, 0); } } /** * @Description: 加载图片 * @author howe * @date 2014-7-30 下午5:57:52 * */ private void loadpersonPic(final String picName, final ImageView imageView, final int isRound) { ImageRequest imgRequest = new ImageRequest(Url.GETPIC + picName, new Response.Listener<Bitmap>() { @Override public void onResponse(Bitmap arg0) { if (isRound == 1) { } else { imageView.setImageBitmap(arg0); OutputStream output = null; try { File mePhotoFold = new File( Environment .getExternalStorageDirectory() + "/" + "jzdr/" + "image"); if (!mePhotoFold.exists()) { mePhotoFold.mkdirs(); } output = new FileOutputStream( Environment .getExternalStorageDirectory() + "/" + "jzdr/" + "image/" + picName); arg0.compress(Bitmap.CompressFormat.JPEG, 100, output); output.flush(); output.close(); } catch (Exception e) { e.printStackTrace(); } } } }, 300, 200, Config.ARGB_8888, new ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { } }); queue.add(imgRequest); imgRequest.setRetryPolicy(new DefaultRetryPolicy(ConstantForSaveList.DEFAULTRETRYTIME*1000, 1, 1.0f)); } }