package com.jiuqi.njt.ui.xxcj; import java.util.ArrayList; import com.jiuqi.mobile.nigo.comeclose.bean.NiGoBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DealerServiceBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.GasStationServiceBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.RepairServiceBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.coop.CooperBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.AdminAreaBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.DataDictionaryBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.RoleBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.RoleCode; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.register.AllTaskInterface; import com.jiuqi.njt.ui.PoiLocateActivity; import com.jiuqi.njt.ui.staffmanagement.AddStaffActivity; import com.jiuqi.njt.ui.staffmanagement.MyTextWatcher; import com.jiuqi.njt.ui.xxcj.XxcjTask.DataType; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.PatternUtils; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.widget.DialogWithList; import com.jiuqi.njt.widget.DialogWithList.Builder; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewStub; import android.view.View.OnClickListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.Spinner; /** * 信息采集页面 * @author Administrator * */ @SuppressWarnings("unused") public class AddInfo extends Activity implements OnClickListener { private LinearLayout row_zwlb; // 作物类别(农机) private Spinner xxlbSpinner;// 信息类别 private Button upload; private Spinner sfSpinner; private EditText lxrTxt; // 联系人 private EditText lxdhText; // 联系电话 private EditText xzxxText; // 乡镇信息 private EditText cwxxText; // 村委信息 private EditText jdxxText; // 街道信息 private EditText szdView;// 所在地 private EditText nameText;// 名称 private EditText jingdu; private EditText weidu; private LinearLayout row_hzs_sx; private LinearLayout row_jxs_lb; private LinearLayout row_jyz_lb; private LinearLayout row_wxd_zd; private Spinner spinner_hzs_sx; private Spinner spinner_jxs_lb; private Spinner spinner_jyz_lb; private Spinner spinner_wxd_zd; private String province = "", city = "", country = ""; private ArrayList<String> xxlbList = null; private double lon, lat; private MyApp application; protected AdminAreaBean xzqh; private String flag;// 标识选中的类别 private NiGoBean bean; private int temp = 0;// 标识选中的类型 private int type = 1;// 子项的下标 private Button add_buttonLb; private Button button_hzs_sx; private Button button_wxd_zd; private Button button_jyz_lb; private Button button_jxs_lb; private ArrayList<String> hzsSxList; private ArrayList<String> wxdZzList; private ArrayList<String> jyzLbList; private ArrayList<String> jxsLbList; private CModuleBean moduleBean; private int[] ROLEARRAYS = {RoleCode.Cooper.getCode(),RoleCode.Repair.getCode(),RoleCode.Gastation.getCode()}; /** *要新增的用户是否可以创建 */ private boolean isCanAdd; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); XxcxDetail.startGps(AddInfo.this); // 检测GPS是否打开 } private void doinit() { initParam(); initWidgets(); inItUI(); initListeners(); } private void initParam() { application = (MyApp) getApplicationContext(); moduleBean = (CModuleBean) getIntent().getSerializableExtra(Constants.PARAM_MODULEBEAN); } private void initListeners() { if(null!=moduleBean) { switch (moduleBean.getModuleFlag()) { case hzscj: showSpinner(1); temp = 1; add_buttonLb.setText(xxlbList.get(1)); flag = "cooper"; break; case wxdcj: showSpinner(2); temp = 2; flag = "service"; add_buttonLb.setText(xxlbList.get(2)); break; case jyzcj: showSpinner(3); temp = 3; add_buttonLb.setText(xxlbList.get(3)); flag = "service"; break; default: add_buttonLb.setOnClickListener(this); break; } } else { add_buttonLb.setOnClickListener(this); } upload.setOnClickListener(this); szdView.setOnClickListener(this); button_jyz_lb.setOnClickListener(this); button_wxd_zd.setOnClickListener(this); button_jxs_lb.setOnClickListener(this); button_hzs_sx.setOnClickListener(this); lxdhText.addTextChangedListener(new MyTextWatcher(AddInfo.this, ROLEARRAYS[temp-1], lxdhText,new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { isCanAdd = (Boolean) result[0]; } })); } private void initWidgets() { setContentView(R.layout.xxcj_add); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); TitleBarUtil.createTitleBar(this, rlTitleBar, "信息采集", new OnClickListener() { @Override public void onClick(View v) { finish(); } }, "地图标记", new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(AddInfo.this, PoiLocateActivity.class); startActivityForResult(intent, Constants.REQUEST_MAP_LOCATE_CODE); } }); upload = (Button) findViewById(R.id.upload); sfSpinner = (Spinner) findViewById(R.id.add_spinnerSf); szdView = (EditText) findViewById(R.id.add_szd); xxlbSpinner = (Spinner) findViewById(R.id.add_spinnerLb); add_buttonLb = (Button) findViewById(R.id.add_buttonLb); lxrTxt = (EditText) findViewById(R.id.add_lxr); lxdhText = (EditText) findViewById(R.id.add_lxdh); xzxxText = (EditText) findViewById(R.id.add_xzxx); cwxxText = (EditText) findViewById(R.id.add_cwxx); jdxxText = (EditText) findViewById(R.id.add_jdxx); nameText = (EditText) findViewById(R.id.add_name); jingdu = (EditText) findViewById(R.id.jingdu); weidu = (EditText) findViewById(R.id.weidu); row_hzs_sx = (LinearLayout) findViewById(R.id.row_hzs_sx); row_jxs_lb = (LinearLayout) findViewById(R.id.row_jxs_lb); row_jyz_lb = (LinearLayout) findViewById(R.id.row_jyz_lb); row_wxd_zd = (LinearLayout) findViewById(R.id.row_wxd_zd); spinner_hzs_sx = (Spinner) findViewById(R.id.spinner_hzs_sx); button_hzs_sx = (Button) findViewById(R.id.button_hzs_sx); spinner_jxs_lb = (Spinner) findViewById(R.id.spinner_jxs_lb); button_jxs_lb = (Button) findViewById(R.id.button_jxs_lb); spinner_jyz_lb = (Spinner) findViewById(R.id.spinner_jyz_lb); button_jyz_lb = (Button) findViewById(R.id.button_jyz_lb); spinner_wxd_zd = (Spinner) findViewById(R.id.spinner_wxd_zd); button_wxd_zd = (Button) findViewById(R.id.button_wxd_zd); } private void inItUI() { xxlbList = new ArrayList<String>(); xxlbList.add("请选择"); xxlbList.add("合作社"); xxlbList.add("维修点"); xxlbList.add("加油站"); xxlbList.add("经销商"); // 信息类别spinner初始化 if (null != xxlbList) { ArrayAdapter<String> xxlbAdapter = new ArrayAdapter<String>( AddInfo.this, android.R.layout.simple_spinner_item, xxlbList); xxlbAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); xxlbSpinner.setAdapter(xxlbAdapter); // if (null != selected1 && !"".equals(selected1)) { // xxlbSpinner.setSelection(xxlbAdapter.getPosition(selected1)); // } xxlbSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { if (position == 1) { flag = "cooper"; } else { flag = "service"; } temp = position; showSpinner(position); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } hzsSxList = new ArrayList<String>(); wxdZzList = new ArrayList<String>(); jyzLbList = new ArrayList<String>(); jxsLbList = new ArrayList<String>(); // hzsSxList.add("请选择");// 0 hzsSxList.add("专业农机合作社");// 30101.1 hzsSxList.add("农机中介合作社");// 30101.2 hzsSxList.add("综合生产合作社");// 30101.3 // wxdZzList.add("请选择");// 0 wxdZzList.add("一级维修点");// 10502.1 wxdZzList.add("二级维修点");// 10502.2 wxdZzList.add("三级维修点");// 10502.3 wxdZzList.add("专项维修点");// 10502.4 wxdZzList.add("其他");// 10502.5 // jyzLbList.add("请选择");// 0 jyzLbList.add("社会");// 90001.1 jyzLbList.add("中海油");// 90001.2 jyzLbList.add("中石化");// 90001.3 jyzLbList.add("中石油");// 90001.4 jxsLbList.add("是");// 0 jxsLbList.add("否");// 30101.1 ArrayAdapter<String> hzsAdapter = new ArrayAdapter<String>( AddInfo.this, android.R.layout.simple_spinner_item, hzsSxList); hzsAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_hzs_sx.setAdapter(hzsAdapter); ArrayAdapter<String> wxsAdapter = new ArrayAdapter<String>( AddInfo.this, android.R.layout.simple_spinner_item, wxdZzList); wxsAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_wxd_zd.setAdapter(wxsAdapter); ArrayAdapter<String> jyzAdapter = new ArrayAdapter<String>( AddInfo.this, android.R.layout.simple_spinner_item, jyzLbList); jyzAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_jyz_lb.setAdapter(jyzAdapter); ArrayAdapter<String> jxsAdapter = new ArrayAdapter<String>( AddInfo.this, android.R.layout.simple_spinner_item, jxsLbList); jxsAdapter .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_jxs_lb.setAdapter(jxsAdapter); spinner_hzs_sx.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { type = arg2; } @Override public void onNothingSelected(AdapterView<?> arg0) { } }); spinner_wxd_zd.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { type = arg2; } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); spinner_jyz_lb.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { type = arg2; } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); spinner_jxs_lb.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { type = arg2; } @Override public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }); } private void showChoseDialog( Button myButton, ArrayList<String> items, String title) { final Button bt = myButton; final String message = title; final ArrayList<String> data = items; final Builder dialog = new DialogWithList.Builder(this); dialog.setTitle(title); dialog.setPositiveButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); // dialog.setAdapter(true); dialog.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { bt.setText(data.get(which)); if ("信息类别".equals(message)) { if (which == 1) { flag = "cooper"; } else { flag = "service"; } temp = which; showSpinner(which); } else { type = which+1; } dialog.dismiss(); } }); dialog.create().show(); } private void showSpinner(int index) { switch (index) { case 0: row_hzs_sx.setVisibility(View.GONE); row_jxs_lb.setVisibility(View.GONE); row_jyz_lb.setVisibility(View.GONE); row_wxd_zd.setVisibility(View.GONE); break; case 1: row_hzs_sx.setVisibility(View.VISIBLE); row_jxs_lb.setVisibility(View.GONE); row_jyz_lb.setVisibility(View.GONE); row_wxd_zd.setVisibility(View.GONE); button_hzs_sx.setText(hzsSxList.get(0)); break; case 2: row_hzs_sx.setVisibility(View.GONE); row_jxs_lb.setVisibility(View.GONE); row_jyz_lb.setVisibility(View.GONE); row_wxd_zd.setVisibility(View.VISIBLE); button_wxd_zd.setText(wxdZzList.get(0)); break; case 3: row_hzs_sx.setVisibility(View.GONE); row_jxs_lb.setVisibility(View.GONE); row_jyz_lb.setVisibility(View.VISIBLE); row_wxd_zd.setVisibility(View.GONE); button_jyz_lb.setText(jyzLbList.get(0)); break; case 4: row_hzs_sx.setVisibility(View.GONE); row_jxs_lb.setVisibility(View.VISIBLE); row_jyz_lb.setVisibility(View.GONE); row_wxd_zd.setVisibility(View.GONE); button_jxs_lb.setText(jxsLbList.get(0)); break; default: break; } } @Override public void onClick(View v) { int id = v.getId(); switch (id) { case R.id.back: AddInfo.this.finish(); break; case R.id.upload: saveData();// 保存数据 if (validateParam()) { if (lon != 0) { new XxcjTask(AddInfo.this, DataType.addData, bean, flag, lon, lat).execute(); } else { if (XxcxDetail.startGps(AddInfo.this)) { new GetLocationByGPSTask(AddInfo.this, DataType.addData, bean, flag).execute(); } } } break; case R.id.add_buttonLb: showChoseDialog(add_buttonLb, xxlbList, "信息类别"); break; case R.id.button_wxd_zd: showChoseDialog(button_wxd_zd, wxdZzList, "维修点资质"); break; case R.id.button_jyz_lb: showChoseDialog(button_jyz_lb, jyzLbList, "加油站类别"); break; case R.id.button_jxs_lb: showChoseDialog(button_jxs_lb, jxsLbList, "经销商类别"); break; case R.id.button_hzs_sx: showChoseDialog(button_hzs_sx, hzsSxList, "合作社属性"); break; case R.id.add_szd: UIUtil.requestXzqh(this, xzqh); break; default: break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { AdminAreaBean xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); this.xzqh = xzqh; if (null != xzqh.getProvinceName()) { province = xzqh.getProvinceName(); } if (null != xzqh.getCityName()) { city = xzqh.getCityName(); } if (null != xzqh.getTownName()) { country = xzqh.getTownName(); } szdView.setText(xzqh.getFullName()); } } if (requestCode == Constants.REQUEST_MAP_LOCATE_CODE) { if (resultCode == RESULT_OK) { lon = data.getDoubleExtra("longitude", 0); lat = data.getDoubleExtra("latitude", 0); Log.v(Constants.TAG, "longitude: " + lon + " latitude: " + lat); jingdu.setText(lon + ""); weidu.setText(lat + ""); } } } public boolean validateParam() { String xxlb; // xxlb = (null != xxlbSpinner && !"" // .equals(xxlbSpinner.getSelectedItem())) ? xxlbSpinner // .getSelectedItem().toString() : ""; xxlb = add_buttonLb.getText().toString(); if (xxlb.equals("请选择")) { showToast("请选择信息类别"); return false; } if (nameText.getText().toString().trim().equals("") || lxrTxt.getText().toString() == null) { showToast("采集名称不能为空"); return false; } if (lxrTxt.getText().toString().trim().equals("") || lxrTxt.getText().toString() == null) { showToast("联系人不能为空"); return false; } if (lxdhText.getText().toString().trim().equals("") || lxdhText.getText().toString() == null) { showToast("联系电话不能为空"); return false; } if (!PatternUtils.isMobileNO(lxdhText.getText().toString())) { showToast("手机号码格式不正确!"); return false; } if (szdView.getText().toString().trim().equals("") || szdView.getText().toString() == null) { showToast("所在地址不能为空"); return false; } return true; } /** * 加载数据 */ public void saveData() { DataDictionaryBean dataDictionaryBean = new DataDictionaryBean(); dataDictionaryBean.setCode(type); RoleBean role = new RoleBean(); switch (temp) { case 1: CooperBean cooperativeBean = new CooperBean(); cooperativeBean.setCoopName(nameText.getText().toString()); cooperativeBean.setMobileNumber(lxdhText.getText().toString()); cooperativeBean.setAddress(szdView.getText().toString()); cooperativeBean.setUserName(lxrTxt.getText().toString()); cooperativeBean.setChargePerson(lxrTxt.getText().toString()); cooperativeBean.setAreaCode(xzqh); cooperativeBean.setAdminArea(xzqh); cooperativeBean.setLatitude(lat); cooperativeBean.setLongitude(lon); cooperativeBean.setGuid(); cooperativeBean.setCreateDate(); cooperativeBean .setCoopID(Long.toString(System.currentTimeMillis())); cooperativeBean.setCoopProperty(dataDictionaryBean); role.setCode(4); cooperativeBean.setAccount(lxdhText.getText().toString()); cooperativeBean.setTelephone(lxdhText.getText().toString()); cooperativeBean.setRole(role); bean = cooperativeBean; break; case 2: RepairServiceBean repairServiceBean = new RepairServiceBean(); repairServiceBean.setName(nameText.getText().toString()); repairServiceBean.setMobileNumber(lxdhText.getText().toString()); repairServiceBean.setResponsiblePersonmobileNumber(lxdhText.getText().toString()); repairServiceBean.setResponsiblePersonName(nameText.getText().toString()); repairServiceBean.setAddress(szdView.getText().toString()); repairServiceBean.setUserName(lxrTxt.getText().toString()); repairServiceBean.setAdminArea(xzqh); repairServiceBean.setAdminAreaCode(xzqh); repairServiceBean.setLatitude(lat); repairServiceBean.setLongitude(lon); role.setCode(11); repairServiceBean.setRole(role); repairServiceBean.setGuid(); repairServiceBean.setCreateDate(); repairServiceBean.setGrade(dataDictionaryBean); repairServiceBean.setAccount(lxdhText.getText().toString()); bean = repairServiceBean; break; case 3: GasStationServiceBean gasStationServiceBean = new GasStationServiceBean(); gasStationServiceBean.setName(nameText.getText().toString()); gasStationServiceBean .setMobileNumber(lxdhText.getText().toString()); gasStationServiceBean.setAddress(szdView.getText().toString()); gasStationServiceBean.setUserName(lxrTxt.getText().toString()); gasStationServiceBean.setResponsiblePersonmobileNumber(lxdhText.getText().toString()); gasStationServiceBean.setResponsiblePersonName(lxrTxt.getText().toString()); gasStationServiceBean.setAdminArea(xzqh); gasStationServiceBean.setAdminAreaCode(xzqh); gasStationServiceBean.setLatitude(lat); gasStationServiceBean.setLongitude(lon); gasStationServiceBean.setGuid(); gasStationServiceBean.setCreateDate(); gasStationServiceBean.setGasStationType(dataDictionaryBean); gasStationServiceBean.setAccount(lxdhText.getText().toString()); role.setCode(10); gasStationServiceBean.setRole(role); bean = gasStationServiceBean; break; case 4: DealerServiceBean dealerServiceBean = new DealerServiceBean(); dealerServiceBean.setName(nameText.getText().toString()); dealerServiceBean.setMobileNumber(lxdhText.getText().toString()); dealerServiceBean.setAddress(szdView.getText().toString()); dealerServiceBean.setUserName(lxrTxt.getText().toString()); dealerServiceBean.setAdminArea(xzqh); dealerServiceBean.setAdminAreaCode(xzqh); dealerServiceBean.setLatitude(lat); dealerServiceBean.setLongitude(lon); dealerServiceBean.setGuid(); dealerServiceBean.setIsSubsidy(type); dealerServiceBean.setResponsiblePersonmobileNumber(lxdhText .getText().toString()); dealerServiceBean.setCreateDate(); dealerServiceBean.setCategory(dataDictionaryBean); dealerServiceBean.setAccount(lxdhText.getText().toString()); bean = dealerServiceBean; break; default: break; } } /** * * Description: 登录结果显示 Title: showToast * * @param message * void */ public void showToast(String message) { AlertDialog.Builder build = new AlertDialog.Builder(AddInfo.this); build.setTitle("提示").setMessage(message).setPositiveButton("确定", null); AlertDialog dialog = build.create(); dialog.setCanceledOnTouchOutside(false); dialog.show(); } }