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();
}
}