package com.casic.gasoperation; import android.app.Activity; import android.content.DialogInterface; import android.os.Bundle; import android.os.Message; import android.text.TextUtils; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; import com.casic.gasoperation.config.ApiClent; import com.casic.gasoperation.utils.ActivityTools; import com.casic.gasoperation.utils.DictTypeModel; import com.casic.gasoperation.utils.Msg; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class EditPersonActivity extends BaseActivity { private Button submit; private ImageView back; private EditText name,phone,personcode; private Spinner department,status,num,type; private ArrayAdapter<DictTypeModel> departmentAdapter,statusAdapter,typeAdapter,numAdapter; private TextView title; private String id; private String pageType; private String jobId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edit_person); submit = (Button) findViewById(R.id.submit); submit.setOnClickListener(onClickListener); back = (ImageView) findViewById(R.id.back); back.setOnClickListener(onClickListener); title = (TextView) findViewById(R.id.title); name = (EditText) findViewById(R.id.name); personcode = (EditText) findViewById(R.id.personcode); phone = (EditText) findViewById(R.id.phone); num = (Spinner) findViewById(R.id.num); department = (Spinner) findViewById(R.id.department); status = (Spinner) findViewById(R.id.status); type = (Spinner) findViewById(R.id.type); department.setClickable(false); num.setClickable(false); type.setClickable(false); numAdapter = ActivityTools.getInstance().getSpinAdapter("", null, EditPersonActivity.this); num.setAdapter(numAdapter); departmentAdapter = ActivityTools.getInstance().getSpinAdapter("", null, EditPersonActivity.this); department.setAdapter(departmentAdapter); typeAdapter = ActivityTools.getInstance().getSpinAdapter("", null, EditPersonActivity.this); type.setAdapter(typeAdapter); statusAdapter = ActivityTools.getInstance().getSpinAdapter("", null, EditPersonActivity.this); DictTypeModel item1 = new DictTypeModel("1","已授权","1"); DictTypeModel item2 = new DictTypeModel("0","未授权","0"); statusAdapter.add(item1); statusAdapter.add(item2); status.setAdapter(statusAdapter); final Bundle bundle=getIntent().getExtras(); String data; pageType = bundle.getString("type"); jobId = bundle.getString("jobId"); title.setText(pageType+"工作人员"); try { ApiClent.getDepartment(new ApiClent.ClientCallback() { @Override public void onSuccess(Object data) { try { JSONObject jsonObject = new JSONObject(data.toString()); JSONArray jsonArray = jsonObject.getJSONObject("data").getJSONArray("list"); if (jsonArray.length() == 0) { Msg.showInfo(EditPersonActivity.this, "未查询到任何项"); DictTypeModel child = new DictTypeModel("", "", ""); departmentAdapter.add(child); return; } else { for (int i = 0; i < jsonArray.length(); i++) { JSONObject json = jsonArray.getJSONObject(i); DictTypeModel child = new DictTypeModel(json.getString("id"), json.getString("fullname"), json.getString("id")); departmentAdapter.add(child); } if(pageType.equals("编辑")){ for (int i = 0, count = department.getCount(); i < count; i++) { DictTypeModel typeItem = (DictTypeModel) department.getItemAtPosition(i); JSONObject json = new JSONObject(bundle.getString("data")); if (typeItem.getId().equals(json.getString("department"))) { department.setSelection(i, true); break; } } } } department.setClickable(true); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onFailure(String message) { } @Override public void onError(Exception e) { } }); ApiClent.getPersonType(new ApiClent.ClientCallback() { @Override public void onSuccess(Object data) { try { JSONObject jsonObject = new JSONObject(data.toString()); JSONArray jsonArray = jsonObject.getJSONArray("data"); if (jsonArray.length()== 0) { Msg.showInfo(EditPersonActivity.this, "未查询到任何项"); DictTypeModel child = new DictTypeModel("","",""); typeAdapter.add(child); return ; }else{ for(int i=0;i<jsonArray.length();i++) { JSONObject json = jsonArray.getJSONObject(i); DictTypeModel child = new DictTypeModel(json.getString("value"),json.getString("name"),json.getString("value")); typeAdapter.add(child); } if(pageType.equals("编辑")) { for (int i = 0, count = type.getCount(); i < count; i++) { DictTypeModel typeItem = (DictTypeModel) type.getItemAtPosition(i); JSONObject json = new JSONObject(bundle.getString("data")); if (typeItem.getId().equals(json.getString("personType"))) { type.setSelection(i, true); break; } } } } type.setClickable(true); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onFailure(String message) { } @Override public void onError(Exception e) { } }); ApiClent.getAuthorizeCode(jobId,new ApiClent.ClientCallback() { @Override public void onSuccess(Object data) { try { JSONObject jsonObject = new JSONObject(data.toString()); JSONArray jsonArray = jsonObject.getJSONArray("data"); if (jsonArray.length()== 0) { Msg.showInfo(EditPersonActivity.this, "无可用手环编号"); DictTypeModel child = new DictTypeModel("请选择手环编号","请选择手环编号","请选择手环编号"); numAdapter.add(child); return ; }else{ DictTypeModel child = new DictTypeModel("请选择手环编号","请选择手环编号","请选择手环编号"); numAdapter.add(child); for(int i=0;i<jsonArray.length();i++) { String str = jsonArray.getString(i); child = new DictTypeModel(str,str,str); numAdapter.add(child); } if(pageType.equals("编辑")) { JSONObject json = new JSONObject(bundle.getString("data")); if(json.getString("bangleCode").length()==0){ num.setSelection(0, true); }else { for (int i = 0, count = num.getCount(); i < count; i++) { DictTypeModel typeItem = (DictTypeModel) num.getItemAtPosition(i); if (typeItem.getId().equals(json.getString("bangleCode").substring(json.getString("bangleCode").length()-2))) { num.setSelection(i, true); break; } } } } } num.setClickable(true); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onFailure(String message) { } @Override public void onError(Exception e) { } }); } catch (Exception e) { Msg.showInfo(EditPersonActivity.this, "初始化人员信息出错!"); } if(pageType.equals("编辑")) { init(); } } public void init() { try { Bundle bundle=getIntent().getExtras(); String data =bundle.getString("data"); JSONObject json = new JSONObject(data); id = json.getString("id"); name.setText(json.getString("name")); personcode.setText(json.getString("personCode")); phone.setText(json.getString("phone")); // if(json.getString("bangleCode").length()>2){ // num.setText(json.getString("bangleCode").substring(json.getString("bangleCode").length()-2)); // } if(json.getString("authorizeName").equals("已授权")) status.setSelection(0,true); else status.setSelection(1,true); }catch (Exception e) { Msg.showInfo(EditPersonActivity.this, "获取人员详情出错!"); } } @Override protected void handleMessage(Message msg) { } @Override protected void onCancelProgress(DialogInterface arg0) { EditPersonActivity.this.finish(); } private View.OnClickListener onClickListener = new View.OnClickListener() { @Override public void onClick(View arg0) { if (arg0 == submit) { if(name.getText().length()==0||phone.getText().length()==0||personcode.getText().length()==0) { Msg.showInfo(EditPersonActivity.this, "请补全信息"); return; } DictTypeModel selectDevice = (DictTypeModel) status.getSelectedItem(); DictTypeModel numitem = (DictTypeModel) num.getSelectedItem(); if(selectDevice.getName()=="已授权"&& numitem.getName().length()>2) { Msg.showInfo(EditPersonActivity.this, "请填写授权手环编号"); return; } String telRegex = "13\\d{9}|14[57]\\d{8}|15[012356789]\\d{8}|18[01256789]\\d{8}|17[0678]\\d{8}"; if(!phone.getText().toString().matches(telRegex)){ Msg.showInfo(EditPersonActivity.this, "请填写正确手机号码"); return; } DictTypeModel statusitem = (DictTypeModel) status.getSelectedItem(); String statusstr = statusitem.getId(); DictTypeModel departmentitem = (DictTypeModel) department.getSelectedItem(); String departmentstr = departmentitem.getId(); DictTypeModel typeitem = (DictTypeModel) type.getSelectedItem(); String typestr = typeitem.getId(); String numstr = numitem.getId(); if(pageType.equals("编辑")) { ApiClent.editPerson(id,name.getText().toString(),personcode.getText().toString(),departmentstr,statusstr,numstr,typestr, phone.getText().toString(),jobId, new ApiClent.ClientCallback() { @Override public void onSuccess(Object data) { try { JSONObject jsonObject = new JSONObject(data.toString()); Msg.showInfo(EditPersonActivity.this, "编辑人员成功"); for (Activity activity : activedActivity) { if (activity instanceof PersonManagerActivity) { ((PersonManagerActivity) activity).getPersonList(); } } finish(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onFailure(String message) { Msg.showInfo(EditPersonActivity.this, message); } @Override public void onError(Exception e) { } }); } else { ApiClent.addPerson(name.getText().toString(),personcode.getText().toString(),departmentstr,statusstr,numstr,typestr, phone.getText().toString(),jobId, new ApiClent.ClientCallback() { @Override public void onSuccess(Object data) { try { JSONObject jsonObject = new JSONObject(data.toString()); Msg.showInfo(EditPersonActivity.this, "新增人员成功"); for (Activity activity : activedActivity) { if (activity instanceof PersonManagerActivity) { ((PersonManagerActivity) activity).getPersonList(); } } finish(); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onFailure(String message) { Msg.showInfo(EditPersonActivity.this, message); } @Override public void onError(Exception e) { } }); } } else if (arg0 == back) { finish(); } } }; }