package com.jiuqi.njt.register; import java.util.ArrayList; import java.util.List; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DealerServiceBean; import com.jiuqi.mobile.nigo.comeclose.bean.app.collect.DrivingSchoolServiceBean; 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.app.coop.SupplierBean; 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.KindsOfCarBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.PerfectInfoBean; import com.jiuqi.mobile.nigo.comeclose.bean.base.RoleCode; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean; import com.jiuqi.mobile.nigo.comeclose.bean.master.DriverBean; import com.jiuqi.mobile.nigo.comeclose.bean.master.OrganizationBean; import com.jiuqi.mobile.nigo.comeclose.exception.LoginException; import com.jiuqi.mobile.nigo.comeclose.manager.master.IUserManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.R; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.Optdb_interfce; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.register.RegisterUtils.JDialogOnItemOnClick; import com.jiuqi.njt.son.MyState; import com.jiuqi.njt.ui.NjtMainActivity; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.TitleBarUtil; import com.jiuqi.njt.util.UIUtil; import com.jiuqi.njt.widget.DialogWithList; import android.app.Activity; import android.content.Context; 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.Button; import android.widget.EditText; import android.widget.TableRow; import android.widget.TextView; /** * 新的完善信息页面 * * @author joe * */ public class PerfectInformation extends Activity implements OnClickListener { private String TAG = "PerfectInformation"; /** * 基本信息 */ /** * 基本信息,用户账号 */ private EditText userAccount; /** * 基本信息,用户名称 */ private EditText userName; /** * 基本信息,位置 */ private Button userLocation; /** * 基本信息,联系人 */ private EditText contacts; /** * 基本信息,联系电话 */ private EditText contactPhone; /** * 基本信息,所在地 */ private Button selectLocation; /** * 机手信息 */ private View perfect_agriculturalHandLinearLayout; private Button agriculturalBCategory; // 农机大类 private Button agriculturalSCategory; // 农机小类 private Button agriculturalPCategory; // 农机品目 /** * 合作社信息 */ private View perfect_cooperativesLinearLayout; private EditText cooperativesName; // 合作社名称 private Button cooperativesProperty; // 合作社属性 /** * 购销商信息 */ private View perfect_purchaseLinearLayout; private EditText purchaseName; // 购销商名称 private Button purchaseCategory; // 购销类别 /** * 经销商信息 */ private View perfect_agencyLinearLayout; private EditText agencyName; // 经销商名称 private Button whetherSubsidiesDealer; // 经销商是否为补贴经销商 private Button whetherHaveRepairQualification; // 经销商是否具备维修资格 /** * 加油站信息 */ private View perfect_gasStationLinearLayout; private EditText gasStationName; // 加油站名称 private Button whetherProvideSendOilService; // 加油站是否提供送油服务 private Button gasStationCategory; // 加油站类别 /** * 维修点信息 */ private View perfect_repairPointLinearLayout; private EditText repairPointName; // 维修点名称 private Button whetherProvideServiceOfDTD; // 维修点是否提供上门服务 private Button repairPointQualifications; // 维修点资质 /** * 服务机构信息 */ private View perfect_serviceAgenciesLinearLayout; private EditText serviceAgenciesName; // 服务机构名称 private EditText chargePerson; // 服务机构负责人 private EditText chargePersonPhone; // 服务机构负责人电话 private Button agenciesCategory; // 服务机构类别 private Button finish; // 完成 /** * 行政区划对象 */ private AdminAreaBean xzqh; /** * 数据库访问对象 */ private Optdb_interfce database; /** * 完善信息对象 */ private PerfectInfoBean perfectInfoBean; private MyApp application; private UserBean userBean; private boolean isModifyMessage; /** * 注册页面返回的sessionId */ private String sessionId; /** * 选择的角色集合对象 */ private List<RoleCode> selectRoleList = new ArrayList<RoleCode>(); // 选择的角色 /** * 需要验证的选择控件集合对象 */ private List<TextView> perfectButtonList = new ArrayList<TextView>(); /** * 需要验证的输入内容控件集合对象 */ private List<TextView> perfectEditTextList = new ArrayList<TextView>(); /** * 所有农机大类 */ private ArrayList<KindsOfCarBean> agriculturalBCategoryList = new ArrayList<KindsOfCarBean>(); /** * 所有农机小类 */ private ArrayList<KindsOfCarBean> agriculturalSCategoryList = new ArrayList<KindsOfCarBean>(); /** * 所有农机品目 */ private ArrayList<KindsOfCarBean> agriculturalPCategoryList = new ArrayList<KindsOfCarBean>(); private String[] whetherStringArray = { "否", "是" }; /** * 基本信息,纬度 */ private double latitude; /** * 基本信息,经度 */ private double longitude; // 机手 /** * 选择的农机大类索引 */ private int agriculturalBCategoryIndex; /** * 选择的农机小类索引 */ private int agriculturalSCategoryIndex; /** * 选择的农机品目索引 */ private int agriculturalPCategoryIndex; /** * 选择的机具类别的CODE */ private long agriculturalCategoryCode; // 合作社 /** * 合作社属性 */ private DataDictionaryBean[] cooperativesPropertyArrays; /** * 合作社属性名称数组 */ private String[] cooperativesPropertyNameArray; /** * 选择的合作社属性索引 */ private int cooperativesPropertyIndex; // 经销商 /** * 是否是补贴经销商 1:是,0:不是 */ private int isSubsidiesDealer; /** * 是否具有维修资质 1:是,0:不是 */ private int isHaveRepairQualification; // 加油站 /** * 加油站类别数组 */ private DataDictionaryBean[] gasStationCategoryArrays; /** * 加油站类别名称数组 */ private String[] gasStationCategoryNameArray; /** * 选择的加油站属性索引 */ private int gasStationCategoryIndex; /** * 加油站是否提供上门送油服务 1:提供,0:不提供 */ private int isProvideSendOilService; // 维修点 /** * 维修点属性数组 */ private DataDictionaryBean[] repairPointQualificationsArrays; /** * 维修点属性名称数组 */ private String[] repairPointQualificationsNameArray; /** * 选择的维修点属性索引 */ private int repairPointQualificationsIndex; /** * 维修点是否提供上门服务 1:提供,0:不提供 */ private int isProvideServiceOfDTD; /** * 服务机构类别数组 */ private DataDictionaryBean[] agenciesCategoryArrays; /** * 服务机构类别名称数组 */ private String[] agenciesCategoryNameArray; /** * 组织机构类别数组 */ private DataDictionaryBean[] orignBeans; /** * 服务机构类别名称数组 */ private String[] orignBeansNameArray; /** * 选择的维修点属性索引 */ private int agenciesCategoryIndex; private DriverBean driverBean; // 机手 private CooperBean cooperBean;// 合作社 private SupplierBean supplierBean;// 供销商 private DealerServiceBean dealerServiceBean;// 经销商 private GasStationServiceBean gasStationServiceBean;// 加油站 private RepairServiceBean repairServiceBean;// 维修点 private OrganizationBean organizationBean;//组织机构 private DrivingSchoolServiceBean drivingSchoolServiceBean;// 服务机构 private String message; private OptsharepreInterface sharePre; /** * 位置 */ private View perfect_layout_lon; private TableRow perfect_agriculturalHandTableRow; private TableRow perfect_cooperativesTableRow; private TableRow perfect_purchaseTableRow; private TableRow perfect_agencyTableRow; private TableRow perfect_gasStationTableRow; private TableRow perfect_repairPointTableRow; private TableRow perfect_serviceAgenciesTableRow; private TableRow perfect_edit_contactPhoneTableRow; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); doinit(); } private void doinit() { initParam(); initWidgets(); initListeners(); if(!isModifyMessage){ initUI(); } } private <T> void initParam() { application = (MyApp) getApplicationContext(); sharePre = new OptsharepreInterface(PerfectInformation.this); // sessionId = getIntent().getStringExtra("sessionId"); // userBean = (UserBean) getIntent().getSerializableExtra("UserBean"); userBean = RegisterUtils.getLoginUserBean(PerfectInformation.this); selectRoleList = RegisterUtils.getUserSelectRoles(userBean); isModifyMessage = getIntent().getBooleanExtra("isModifyMessage", false); if (isModifyMessage) { RegisterUtils.getData(PerfectInformation.this, IUserManager.class, new TaskInterface() { @Override public <T> void taskFinishReturn(T... result) { initUI(); } @Override public <T> void taskExecuteReturn(T... result) { perfectInfoBean = ((IUserManager) result[0]) .getPerfectInfoBeanByUserBean(userBean); } }, 5); } if (null == selectRoleList || selectRoleList.size() < 1) { if (null != userBean) { selectRoleList = RegisterUtils.getUserSelectRoles(userBean); } } database = new Optdb_interfce(this); database.createNJTable(); // 创建数据库表(表存在时不执行) } /** * 获取页面底部线的状态 * @return */ private void getBottomLine() { if (null != userBean) { String roleString = userBean.getRolesString(); if (null != roleString) { if (roleString.contains(RoleCode.ServiceOrg.getWeiyima())) { perfect_serviceAgenciesTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Repair.getWeiyima())) { perfect_repairPointTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Gastation.getWeiyima())) { perfect_gasStationTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Dealer.getWeiyima())) { perfect_agencyTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Supplier.getWeiyima())) { perfect_purchaseTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Cooper.getWeiyima())) { perfect_cooperativesTableRow.setBackgroundResource(R.drawable.round_bottom); } else if (roleString.contains(RoleCode.Driver.getWeiyima())) { perfect_agriculturalHandTableRow.setBackgroundResource(R.drawable.round_bottom); }else{ // perfect_edit_contactPhoneTableRow.setBackgroundResource(R.drawable.round_bottom); } } } } private void initWidgets() { setContentView(R.layout.perfect_infor); ViewStub rlTitleBar = (ViewStub) findViewById(R.id.titleBarStub); String title = "完善信息"; if (isModifyMessage) { title = "修改信息"; } TitleBarUtil.createTitleBar(this, rlTitleBar, title, new OnClickListener() { @Override public void onClick(View v) { PerfectInformation.this.finish(); } }); userAccount = (EditText) findViewById(R.id.perfect_edit_userAccount); userName = (EditText) findViewById(R.id.perfect_edit_userName); userLocation = (Button) findViewById(R.id.perfect_btn_userLoation); contacts = (EditText) findViewById(R.id.perfect_edit_contacts); contactPhone = (EditText) findViewById(R.id.perfect_edit_contactPhone); perfect_edit_contactPhoneTableRow = (TableRow)findViewById(R.id.perfect_edit_contactPhoneTableRow); perfect_layout_lon = findViewById(R.id.perfect_layout_lon); perfect_agriculturalHandLinearLayout = findViewById(R.id.perfect_agriculturalHandLinearLayout); perfect_agriculturalHandTableRow = (TableRow)findViewById(R.id.perfect_agriculturalHandTableRow); perfect_cooperativesLinearLayout = findViewById(R.id.perfect_cooperativesLinearLayout); perfect_cooperativesTableRow = (TableRow)findViewById(R.id.perfect_cooperativesTableRow); perfect_purchaseLinearLayout = findViewById(R.id.perfect_purchaseLinearLayout); perfect_purchaseTableRow = (TableRow)findViewById(R.id.perfect_purchaseTableRow); perfect_agencyLinearLayout = findViewById(R.id.perfect_agencyLinearLayout); perfect_agencyTableRow = (TableRow)findViewById(R.id.perfect_agencyTableRow); perfect_gasStationLinearLayout = findViewById(R.id.perfect_gasStationLinearLayout); perfect_gasStationTableRow= (TableRow)findViewById(R.id.perfect_gasStationTableRow); perfect_repairPointLinearLayout = findViewById(R.id.perfect_repairPointLinearLayout); perfect_repairPointTableRow= (TableRow)findViewById(R.id.perfect_repairPointTableRow); perfect_serviceAgenciesLinearLayout = findViewById(R.id.perfect_serviceAgenciesLinearLayout); perfect_serviceAgenciesTableRow= (TableRow)findViewById(R.id.perfect_serviceAgenciesTableRow); cooperativesName = (EditText) findViewById(R.id.perfect_edit_cooperativesName); purchaseName = (EditText) findViewById(R.id.perfect_edit_purchaseName); agencyName = (EditText) findViewById(R.id.perfect_edit_agencyName); gasStationName = (EditText) findViewById(R.id.perfect_edit_gasStationName); repairPointName = (EditText) findViewById(R.id.perfect_edit_repairPointName); serviceAgenciesName = (EditText) findViewById(R.id.perfect_edit_serviceAgenciesName); chargePerson = (EditText) findViewById(R.id.perfect_edit_chargePerson); chargePersonPhone = (EditText) findViewById(R.id.perfect_edit_chargePersonPhone); selectLocation = (Button) findViewById(R.id.perfect_btn_selectLocation); agriculturalBCategory = (Button) findViewById(R.id.perfect_btn_agriculturalBCategory); agriculturalSCategory = (Button) findViewById(R.id.perfect_btn_agriculturalSCategory); agriculturalPCategory = (Button) findViewById(R.id.perfect_btn_agriculturalPCategory); cooperativesProperty = (Button) findViewById(R.id.perfect_btn_cooperativesProperty); purchaseCategory = (Button) findViewById(R.id.perfect_btn_purchaseCategory); whetherSubsidiesDealer = (Button) findViewById(R.id.perfect_btn_whetherSubsidiesDealer); whetherHaveRepairQualification = (Button) findViewById(R.id.perfect_btn_whetherHaveRepairQualification); whetherProvideSendOilService = (Button) findViewById(R.id.perfect_btn_whetherProvideSendOilService); gasStationCategory = (Button) findViewById(R.id.perfect_btn_gasStationCategory); whetherProvideServiceOfDTD = (Button) findViewById(R.id.perfect_btn_whetherProvideServiceOfDTD); repairPointQualifications = (Button) findViewById(R.id.perfect_btn_repairPointQualifications); agenciesCategory = (Button) findViewById(R.id.perfect_btn_agenciesCategory); finish = (Button) findViewById(R.id.perfect_btn_finish); } private void initListeners() { userLocation.setOnClickListener(this); selectLocation.setOnClickListener(this); agriculturalBCategory.setOnClickListener(this); agriculturalSCategory.setOnClickListener(this); agriculturalPCategory.setOnClickListener(this); cooperativesProperty.setOnClickListener(this); purchaseCategory.setOnClickListener(this); whetherSubsidiesDealer.setOnClickListener(this); whetherHaveRepairQualification.setOnClickListener(this); whetherProvideSendOilService.setOnClickListener(this); gasStationCategory.setOnClickListener(this); whetherProvideServiceOfDTD.setOnClickListener(this); repairPointQualifications.setOnClickListener(this); agenciesCategory.setOnClickListener(this); finish.setOnClickListener(this); } private void initUI() { getBottomLine(); // userBean =RegisterUtils.getLoginUserBean(PerfectInformation.this); if (null != userBean) { userAccount.setText(null == userBean.getAccount() ? "" : userBean .getAccount()); } perfectEditTextList.add(userName); if (isModifyMessage) { perfect_layout_lon.setVisibility(View.VISIBLE); } perfectEditTextList.add(contacts); perfectEditTextList.add(contactPhone); /** * 如果用户的角色中包含对应的角色,就把对应角色的布局显示出来 */ if (selectRoleList.contains(RoleCode.Driver)) { if (isModifyMessage && null != perfectInfoBean) { latitude = perfectInfoBean.getLatitude(); longitude = perfectInfoBean.getLongitude(); if (0.0 != perfectInfoBean.getLatitude() && 0.0 != perfectInfoBean.getLongitude()) { userLocation.setText("已标记"); } driverBean = perfectInfoBean.getDriverBean(); if (null != perfectInfoBean.getDriverBean()) { xzqh = driverBean.getAdminArea(); if (null != xzqh) { selectLocation.setText(xzqh.getFullName()); } } } } // RegisterUtils.getAgriculturalCategory(PerfectInformation.this, // new AllTaskInterface() { // @SuppressWarnings("unchecked") // @Override // public <T> void taskFinishReturn(T... result) { // if (null != result) { // agriculturalBCategoryList = (ArrayList<KindsOfCarBean>) result[0]; // agriculturalSCategoryList = (ArrayList<KindsOfCarBean>) result[1]; // agriculturalPCategoryList = (ArrayList<KindsOfCarBean>) result[2]; // // /** // * 是修改信息时先获取到机手的农机类别 // */ // if (isModifyMessage) { // if(null!=perfectInfoBean){ // driverBean = perfectInfoBean.getDriverBean(); // Log.e(TAG, driverBean.toString()); // if (null != driverBean) { // // // userName.setText(null==driverBean.getName()?"":driverBean.getName()); // KindsOfCarBean kindsOfCarBean = driverBean.getCarType(); // getSelectedItem(kindsOfCarBean); // } // } // } // } else { // UIUtil.showMsg(PerfectInformation.this, // "数据获取异常请重新获取"); // } // } // }); // UIUtil.showView(perfect_agriculturalHandLinearLayout); // perfectButtonList.add(agriculturalBCategory); // perfectButtonList.add(agriculturalSCategory); // perfectButtonList.add(agriculturalPCategory); // // perfectEditTextList.add(agriculturalBCategory); // perfectEditTextList.add(agriculturalSCategory); // perfectEditTextList.add(agriculturalPCategory); // } if (selectRoleList.contains(RoleCode.Cooper)) { RegisterUtils.getPerfectMessage(this, new AllTaskInterface() { public <T> void taskFinishReturn(T... result) { if (null != result) { cooperativesPropertyArrays = (DataDictionaryBean[]) result[0]; cooperativesPropertyNameArray = RegisterUtils .getDataDictionaryBeanName(cooperativesPropertyArrays); /** * 是修改信息时,先获取到合作社的属性 */ if (isModifyMessage) { if (null != perfectInfoBean) { cooperBean = perfectInfoBean.getCooperBean(); if (null != cooperBean) { // userName.setText(null==cooperBean.getUserName()?"":cooperBean.getUserName()); contacts.setText(null == cooperBean .getContactPerson() ? "" : cooperBean.getContactPerson()); contactPhone.setText(null == cooperBean .getTelephone() ? "" : cooperBean .getTelephone()); latitude = cooperBean.getLatitude(); longitude = cooperBean.getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } xzqh = cooperBean.getAdminArea(); if (null != xzqh) { selectLocation.setText(xzqh .getFullName()); } cooperativesName.setText(null == cooperBean .getCoopName() ? "" : cooperBean .getCoopName()); DataDictionaryBean dataDictionaryBean = cooperBean .getCoopProperty(); if (null != dataDictionaryBean) { for (int i = 0; i < cooperativesPropertyArrays.length; i++) { if (cooperativesPropertyArrays[i] .getName().equals( dataDictionaryBean .getName())) { cooperativesPropertyIndex = i; cooperativesProperty .setText(dataDictionaryBean .getName()); } } } } } } } else { UIUtil.showMsg(PerfectInformation.this, "数据获取异常请重新获取"); } } }, 30101); UIUtil.showView(perfect_cooperativesLinearLayout); perfectButtonList.add(cooperativesProperty); perfectEditTextList.add(cooperativesProperty); perfectEditTextList.add(cooperativesName); } if (selectRoleList.contains(RoleCode.Supplier)) { UIUtil.showView(perfect_purchaseLinearLayout); // perfectButtonList.add(purchaseCategory); if (isModifyMessage) { if (null != perfectInfoBean) { supplierBean = perfectInfoBean.getSupplierBean(); if (null != supplierBean) { // userName.setText(null==supplierBean.getUserName()?"":supplierBean.getUserName()); contacts.setText(null == supplierBean.getChargePerson() ? "" : supplierBean.getChargePerson()); contactPhone.setText(null == supplierBean .getTelephone() ? "" : supplierBean .getTelephone()); latitude = supplierBean.getLatitude(); longitude = supplierBean.getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } xzqh = supplierBean.getAdminArea(); if (null != xzqh) { selectLocation.setText(xzqh.getFullName()); } purchaseName .setText(null == supplierBean.getCoopName() ? "" : supplierBean.getCoopName()); } } } // perfectEditTextList.add(purchaseCategory); perfectEditTextList.add(purchaseName); } if (selectRoleList.contains(RoleCode.Dealer)) { UIUtil.showView(perfect_agencyLinearLayout); if (isModifyMessage) { if (null != perfectInfoBean) { dealerServiceBean = perfectInfoBean.getDealerServiceBean(); if (null != dealerServiceBean) { // userName.setText(null==dealerServiceBean.getName()?"":dealerServiceBean.getName()); contacts.setText(null == dealerServiceBean .getResponsiblePersonName() ? "" : dealerServiceBean.getResponsiblePersonName()); contactPhone.setText(null == dealerServiceBean .getMobileNumber() ? "" : dealerServiceBean .getMobileNumber()); latitude = dealerServiceBean.getLatitude(); longitude = dealerServiceBean.getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } xzqh = dealerServiceBean.getAdminArea(); if (null != xzqh) { selectLocation.setText(xzqh.getFullName()); } agencyName .setText(null == dealerServiceBean.getName() ? "" : dealerServiceBean.getName()); isSubsidiesDealer = dealerServiceBean.getIsSubsidy(); isHaveRepairQualification = dealerServiceBean .getIsRepair(); whetherSubsidiesDealer .setText(whetherStringArray[isSubsidiesDealer]); whetherHaveRepairQualification .setText(whetherStringArray[isHaveRepairQualification]); } } } perfectButtonList.add(whetherSubsidiesDealer); perfectButtonList.add(whetherHaveRepairQualification); perfectEditTextList.add(whetherSubsidiesDealer); perfectEditTextList.add(whetherHaveRepairQualification); perfectEditTextList.add(agencyName); } if (selectRoleList.contains(RoleCode.Gastation)) { RegisterUtils.getPerfectMessage(this, new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if (null != result) { gasStationCategoryArrays = (DataDictionaryBean[]) result[0]; gasStationCategoryNameArray = RegisterUtils .getDataDictionaryBeanName(gasStationCategoryArrays); /** * 如果是修改信息,就先获取加油站类别 */ if (isModifyMessage) { if (null != perfectInfoBean) { gasStationServiceBean = perfectInfoBean .getGasStationServiceBean(); if (null != gasStationServiceBean) { // userName.setText(null==gasStationServiceBean.getName()?"":gasStationServiceBean.getName()); contacts.setText(null == gasStationServiceBean .getResponsiblePersonName() ? "" : gasStationServiceBean .getResponsiblePersonName()); contactPhone .setText(null == gasStationServiceBean .getMobileNumber() ? "" : gasStationServiceBean .getMobileNumber()); gasStationName .setText(null == gasStationServiceBean .getName() ? "" : gasStationServiceBean .getName()); xzqh = gasStationServiceBean.getAdminArea(); latitude = gasStationServiceBean .getLatitude(); longitude = gasStationServiceBean .getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } if (null != xzqh) { selectLocation.setText(xzqh .getFullName()); } isProvideSendOilService = gasStationServiceBean .getIsSendOilService(); whetherProvideSendOilService .setText(whetherStringArray[isProvideSendOilService]); DataDictionaryBean dataDictionaryBean = gasStationServiceBean .getGasStationType(); if (null != dataDictionaryBean) { for (int i = 0; i < gasStationCategoryArrays.length; i++) { if (gasStationCategoryArrays[i] .getName().equals( dataDictionaryBean .getName())) { gasStationCategoryIndex = i; gasStationCategory .setText(dataDictionaryBean .getName()); } } } } } } } else { UIUtil.showMsg(PerfectInformation.this, "数据获取异常请重新获取"); } } }, 90001); UIUtil.showView(perfect_gasStationLinearLayout); perfectButtonList.add(gasStationCategory); perfectButtonList.add(whetherProvideSendOilService); perfectEditTextList.add(gasStationCategory); perfectEditTextList.add(whetherProvideSendOilService); perfectEditTextList.add(gasStationName); } //zhao if (selectRoleList.contains(RoleCode.ProvinceManager) ||selectRoleList.contains(RoleCode.CityManager) ||selectRoleList.contains(RoleCode.CountryManager)) { RegisterUtils.getPerfectMessage(this, new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if (null != result) { orignBeans = (DataDictionaryBean[]) result[0]; orignBeansNameArray = RegisterUtils .getDataDictionaryBeanName(orignBeans); /** * 如果是修改信息,就先获取组织机构信息 */ if (isModifyMessage) { if (null != perfectInfoBean) { organizationBean = perfectInfoBean .getOrganizationBean(); if (null != organizationBean) { // userName.setText(null==repairServiceBean.getName()?"":repairServiceBean.getName()); contacts.setText(null == organizationBean .getOrganize().getContactPersonal() ? "" : organizationBean .getOrganize().getContactPersonal()); contactPhone .setText(null == organizationBean .getOrganize().getContactNumber() ? "" : organizationBean .getOrganize().getContactNumber()); latitude = organizationBean.getOrganize().getLatitude(); longitude = organizationBean.getOrganize().getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } xzqh = organizationBean.getArea(); if (null != xzqh) { selectLocation.setText(xzqh .getFullName()); } } } } } else { UIUtil.showMsg(PerfectInformation.this, "数据获取异常请重新获取"); } } }, 10502); //UIUtil.showView(perfect_repairPointLinearLayout); } if (selectRoleList.contains(RoleCode.Repair)) { RegisterUtils.getPerfectMessage(this, new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if (null != result) { repairPointQualificationsArrays = (DataDictionaryBean[]) result[0]; repairPointQualificationsNameArray = RegisterUtils .getDataDictionaryBeanName(repairPointQualificationsArrays); /** * 如果是修改信息,就先获取维修点类别 */ if (isModifyMessage) { if (null != perfectInfoBean) { repairServiceBean = perfectInfoBean .getRepairServiceBean(); if (null != repairServiceBean) { // userName.setText(null==repairServiceBean.getName()?"":repairServiceBean.getName()); contacts.setText(null == repairServiceBean .getResponsiblePersonName() ? "" : repairServiceBean .getResponsiblePersonName()); contactPhone .setText(null == repairServiceBean .getMobileNumber() ? "" : repairServiceBean .getMobileNumber()); latitude = repairServiceBean.getLatitude(); longitude = repairServiceBean .getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } xzqh = repairServiceBean.getAdminArea(); if (null != xzqh) { selectLocation.setText(xzqh .getFullName()); } repairPointName .setText(null == repairServiceBean .getName() ? "" : repairServiceBean .getName()); isProvideServiceOfDTD = repairServiceBean .getIsDoorToDoorService(); whetherProvideServiceOfDTD .setText(whetherStringArray[isProvideServiceOfDTD]); DataDictionaryBean dataDictionaryBean = repairServiceBean .getGrade(); if (null != dataDictionaryBean) { for (int i = 0; i < repairPointQualificationsArrays.length; i++) { if (repairPointQualificationsArrays[i] .getName().equals( dataDictionaryBean .getName())) { repairPointQualificationsIndex = i; repairPointQualifications .setText(dataDictionaryBean .getName()); } } } } } } } else { UIUtil.showMsg(PerfectInformation.this, "数据获取异常请重新获取"); } } }, 10502); UIUtil.showView(perfect_repairPointLinearLayout); perfectButtonList.add(repairPointQualifications); perfectButtonList.add(whetherProvideServiceOfDTD); perfectEditTextList.add(repairPointQualifications); perfectEditTextList.add(whetherProvideServiceOfDTD); perfectEditTextList.add(repairPointName); } if (selectRoleList.contains(RoleCode.ServiceOrg)) { RegisterUtils.getPerfectMessage(this, new AllTaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if (null != result) { agenciesCategoryArrays = (DataDictionaryBean[]) result[0]; agenciesCategoryNameArray = RegisterUtils .getDataDictionaryBeanName(agenciesCategoryArrays); /** * 如果是修改信息,就先获取服务机构类别 */ if (isModifyMessage) { if (null != perfectInfoBean) { drivingSchoolServiceBean = perfectInfoBean .getDrivingSchoolServiceBean(); if (null != drivingSchoolServiceBean) { // userName.setText(null==drivingSchoolServiceBean.getName()?"":drivingSchoolServiceBean.getName()); contacts.setText(null == drivingSchoolServiceBean .getResponsiblePersonName() ? "" : drivingSchoolServiceBean .getResponsiblePersonName()); contactPhone .setText(null == drivingSchoolServiceBean .getMobileNumber() ? "" : drivingSchoolServiceBean .getMobileNumber()); xzqh = drivingSchoolServiceBean .getAdminArea(); latitude = drivingSchoolServiceBean .getLatitude(); longitude = drivingSchoolServiceBean .getLongitude(); if (0.0 != latitude && 0.0 != longitude) { userLocation.setText("已标记"); } if (null != xzqh) { selectLocation.setText(xzqh .getFullName()); } serviceAgenciesName .setText(null == drivingSchoolServiceBean .getName() ? "" : drivingSchoolServiceBean .getName()); chargePerson .setText(null == drivingSchoolServiceBean .getContactPerson() ? "" : drivingSchoolServiceBean .getContactPerson()); chargePersonPhone .setText(null == drivingSchoolServiceBean .getContactNumber() ? "" : drivingSchoolServiceBean .getContactNumber()); DataDictionaryBean dataDictionaryBean = drivingSchoolServiceBean .getOrgType(); if (null != dataDictionaryBean) { for (int i = 0; i < agenciesCategoryArrays.length; i++) { if (agenciesCategoryArrays[i] .getName().equals( dataDictionaryBean .getName())) { agenciesCategoryIndex = i; agenciesCategory .setText(dataDictionaryBean .getName()); } } } } } } } else { UIUtil.showMsg(PerfectInformation.this, "数据获取异常请重新获取"); } } }, 90002); UIUtil.showView(perfect_serviceAgenciesLinearLayout); perfectButtonList.add(agenciesCategory); perfectEditTextList.add(agenciesCategory); perfectEditTextList.add(serviceAgenciesName); perfectEditTextList.add(chargePerson); perfectEditTextList.add(chargePersonPhone); } if (isModifyMessage) { if (null != userBean) { userName.setText(null == userBean.getUserName() ? "" : userBean .getUserName()); } //获取信息,赵阳光 if (null != perfectInfoBean) { contacts.setText(null == perfectInfoBean .getResponsiblePersonName() ? "" : perfectInfoBean .getResponsiblePersonName()); contactPhone.setText(null == perfectInfoBean .getResponsiblePersonmobileNumber() ? "" : perfectInfoBean.getResponsiblePersonmobileNumber()); } } UIUtil.setWidgetEnabled(userAccount, false); } /** * 保存数据 */ private void saveData() { // userBean =RegisterUtils.getLoginUserBean(PerfectInformation.this); userBean.setUserName(userName.getText().toString()); userBean.setAdminArea(xzqh); if (null == perfectInfoBean) { perfectInfoBean = new PerfectInfoBean(); } perfectInfoBean.setLatitude(latitude); perfectInfoBean.setLongitude(longitude); perfectInfoBean.setResponsiblePersonName(contacts.getText().toString()); perfectInfoBean.setResponsiblePersonmobileNumber(contactPhone.getText() .toString()); // if (selectRoleList.contains(RoleCode.Driver)) { // if(null==driverBean){ // driverBean = new DriverBean(); // } // KindsOfCarBean carType = new KindsOfCarBean(); // carType.setBigClassCode(agriculturalBCategoryList.get(agriculturalBCategoryIndex).getBigClassCode()); // carType.setSmallClassCode(agriculturalSCategoryList.get(agriculturalSCategoryIndex).getSmallClassCode()); // carType.setItemCode(agriculturalPCategoryList.get(agriculturalPCategoryIndex).getItemCode()); // if (agriculturalCategoryCode == 0) { // if (null != agriculturalBCategoryList) { // long dlcode = agriculturalBCategoryList.get(0).getCode(); // long xlcode = agriculturalSCategoryList.get(0).getCode(); // long pmcode = agriculturalPCategoryList.get(0).getCode(); // if (pmcode == 0) { // if (xlcode == 0) { // pmcode = dlcode; // } else { // pmcode = xlcode; // } // } // agriculturalCategoryCode = pmcode; // } // } // // carType.setCode(agriculturalCategoryCode); // driverBean.setCarType(carType); // perfectInfoBean.setDriverBean(driverBean); // } if (selectRoleList.contains(RoleCode.Cooper)) { if (null == cooperBean) { cooperBean = new CooperBean(); } cooperBean.setCoopName(cooperativesName.getText().toString()); cooperBean .setCoopProperty(cooperativesPropertyArrays[cooperativesPropertyIndex]); cooperBean.setChargePerson(contacts.getText().toString()); cooperBean.setTelephone(contactPhone.getText().toString()); perfectInfoBean.setCooperBean(cooperBean); } if (selectRoleList.contains(RoleCode.Supplier)) { if (null == supplierBean) { supplierBean = new SupplierBean(); } supplierBean.setCoopName(purchaseName.getText().toString()); // supplierBean.setSupplyCategory(supplyCategory); supplierBean.setChargePerson(contacts.getText().toString()); supplierBean.setTelephone(contactPhone.getText().toString()); perfectInfoBean.setSupplierBean(supplierBean); } if (selectRoleList.contains(RoleCode.Dealer)) { if (null == dealerServiceBean) { dealerServiceBean = new DealerServiceBean(); } dealerServiceBean.setName(agencyName.getText().toString()); dealerServiceBean.setResponsiblePersonName(contacts.getText() .toString()); dealerServiceBean.setResponsiblePersonmobileNumber(contactPhone .getText().toString()); dealerServiceBean.setIsSubsidy(isSubsidiesDealer); dealerServiceBean.setIsRepair(isHaveRepairQualification); perfectInfoBean.setDealerServiceBean(dealerServiceBean); } if (selectRoleList.contains(RoleCode.Gastation)) { if (null == gasStationServiceBean) { gasStationServiceBean = new GasStationServiceBean(); } gasStationServiceBean.setName(gasStationName.getText().toString()); gasStationServiceBean.setResponsiblePersonName(contacts.getText() .toString()); gasStationServiceBean.setResponsiblePersonmobileNumber(contactPhone .getText().toString()); gasStationServiceBean .setGasStationType(gasStationCategoryArrays[gasStationCategoryIndex]); gasStationServiceBean.setIsSendOilService(isProvideSendOilService); perfectInfoBean.setGasStationServiceBean(gasStationServiceBean); } if (selectRoleList.contains(RoleCode.Repair)) { if (null == repairServiceBean) { repairServiceBean = new RepairServiceBean(); } repairServiceBean.setName(repairPointName.getText().toString()); repairServiceBean.setResponsiblePersonName(contacts.getText() .toString()); repairServiceBean.setResponsiblePersonmobileNumber(contactPhone .getText().toString()); repairServiceBean.setIsDoorToDoorService(isProvideServiceOfDTD); repairServiceBean .setGrade(repairPointQualificationsArrays[repairPointQualificationsIndex]); perfectInfoBean.setRepairServiceBean(repairServiceBean); } if (selectRoleList.contains(RoleCode.ServiceOrg)) { if (null == drivingSchoolServiceBean) { drivingSchoolServiceBean = new DrivingSchoolServiceBean(); } drivingSchoolServiceBean .setOrgType(agenciesCategoryArrays[agenciesCategoryIndex]); drivingSchoolServiceBean.setName(serviceAgenciesName.getText() .toString()); drivingSchoolServiceBean .setResponsiblePersonmobileNumber(chargePersonPhone .getText().toString()); drivingSchoolServiceBean.setResponsiblePersonName(chargePerson .getText().toString()); perfectInfoBean .setDrivingSchoolServiceBean(drivingSchoolServiceBean); } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.perfect_btn_userLoation: RegisterUtils.requestLocation(PerfectInformation.this); break; case R.id.perfect_btn_selectLocation: UIUtil.requestXzqh(this, xzqh); break; case R.id.perfect_btn_agriculturalBCategory: doPopWindow(this, agriculturalBCategory, agriculturalBCategoryList, "农机大类", 1); break; case R.id.perfect_btn_agriculturalSCategory: doPopWindow(this, agriculturalSCategory, agriculturalSCategoryList, "农机小类", 2); break; case R.id.perfect_btn_agriculturalPCategory: doPopWindow(this, agriculturalPCategory, agriculturalPCategoryList, "农机品目", 3); break; case R.id.perfect_btn_cooperativesProperty: RegisterUtils.doPopWindow(this, cooperativesProperty, cooperativesPropertyNameArray, "合作社属性", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { cooperativesPropertyIndex = index; } }); break; case R.id.perfect_btn_purchaseCategory: break; case R.id.perfect_btn_whetherSubsidiesDealer: RegisterUtils.doPopWindow(this, whetherSubsidiesDealer, whetherStringArray, "是否为补贴经销商", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { isSubsidiesDealer = index; } }); break; case R.id.perfect_btn_whetherHaveRepairQualification: RegisterUtils.doPopWindow(this, whetherHaveRepairQualification, whetherStringArray, "是否具备维修资格", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { isHaveRepairQualification = index; } }); break; case R.id.perfect_btn_whetherProvideSendOilService: RegisterUtils.doPopWindow(this, whetherProvideSendOilService, whetherStringArray, "是否提供送油服务", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { isProvideSendOilService = index; } }); break; case R.id.perfect_btn_gasStationCategory: RegisterUtils.doPopWindow(this, gasStationCategory, gasStationCategoryNameArray, "加油站类别", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { gasStationCategoryIndex = index; } }); break; case R.id.perfect_btn_whetherProvideServiceOfDTD: RegisterUtils.doPopWindow(this, whetherProvideServiceOfDTD, whetherStringArray, "是否提供上门服务", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { isProvideServiceOfDTD = index; } }); break; case R.id.perfect_btn_repairPointQualifications: RegisterUtils.doPopWindow(this, repairPointQualifications, repairPointQualificationsNameArray, "维修点资质", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { repairPointQualificationsIndex = index; } }); break; case R.id.perfect_btn_agenciesCategory: RegisterUtils.doPopWindow(this, agenciesCategory, agenciesCategoryNameArray, "服务机构类别", new JDialogOnItemOnClick() { @Override public void JItemClick(int index) { agenciesCategoryIndex = index; } }); break; case R.id.perfect_btn_finish: TextView[] textArray = perfectEditTextList .toArray(new TextView[perfectEditTextList.size()]); boolean textViewHasData = RegisterUtils.validatorTextViewHaveData( this, textArray); boolean isPhoneNumber = false; if (textViewHasData) {// 先验证是不是都有内容,再验证电话号码是不是有效值 isPhoneNumber = RegisterUtils.validatorIsPhoneNumber(this, new TextView[] { contactPhone }); } message = ""; if (textViewHasData && isPhoneNumber && doValidate()) { try { saveData(); } catch (Exception e) { e.printStackTrace(); } //获取数据后进行数据的提交 RegisterUtils.getData(this, IUserManager.class, new TaskInterface() { @Override public <T> void taskFinishReturn(T... result) { if (!"".equals(message)) { UIUtil.showMsg(PerfectInformation.this, message); if (!isModifyMessage) { new RegisterUtils() .loginSuccess(PerfectInformation.this); Intent in = new Intent( PerfectInformation.this, NjtMainActivity.class); in.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(in); } PerfectInformation.this.finish(); } } @Override public <T> void taskExecuteReturn(T... result) { if(isModifyMessage){ ((IUserManager) result[0]) .savaPerfectInfo(perfectInfoBean, userBean,application .getClientContext() .getSessionID()); }else{ ((IUserManager) result[0]) .updateSubsidiaryTable(perfectInfoBean, userBean, application .getClientContext() .getSessionID());} ClientContext clientContext; try { clientContext = ClientContext .getClientContext( Constants.SERVER_URL, application .getClientContext() .getSessionID()); application.setClientContext(clientContext); } catch (LoginException e) { e.printStackTrace(); } if (isModifyMessage) { message = "信息修改成功"; } else { message = "完善信息成功"; } } }, 4); } break; default: break; } } private boolean doValidate() { if (null != xzqh) { if (xzqh.getProvinceCode() == 0 || xzqh.getCityCode() == 0 || xzqh.getCountryCode() == 0) { UIUtil.showMsg(this, "请选择省市县(详细到县级)"); return false; } } return true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == Constants.REQUEST_XZQH_CODE) { if (resultCode == RESULT_OK) { xzqh = (AdminAreaBean) data .getSerializableExtra(Constants.PARAM_XZQH); if (null != xzqh) { selectLocation.setText(null == xzqh.getFullName() ? "" : xzqh.getFullName()); } } } if (requestCode == Constants.REQUEST_MAP_LOCATE_CODE) { if (resultCode == RESULT_OK) { longitude = data.getDoubleExtra("longitude", 0); latitude = data.getDoubleExtra("latitude", 0); userLocation.setText("已标记"); } } } /** * 弹出一个对话框(ListView样式,还包含一个标题和一个取消按钮) * * @param items * 显示内容 * @param btn * 触发对话框弹出按钮 * @param title * 弹出框标题 * @param type * 数据的类型 1、农机大类、2 农机小类 3、农机品目 */ private void doPopWindow(Context context, final Button btn, ArrayList<KindsOfCarBean> data, String title, final int type) { agriculturalCategoryCode = 0; final String[] items = new String[data.size()]; for (int i = 0; i < items.length; i++) { items[i] = data.get(i).getName(); } if (null != items && items.length > 0) { DialogWithList.Builder dialog = new DialogWithList.Builder(context); dialog.setTitle(title); dialog.setPositiveButton(Constants.CANCEL_TEXT, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); dialog.setItems(items, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { btn.setText(items[which]); switch (type) { case 1: agriculturalSCategoryList = database .getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", agriculturalBCategoryList.get(which) .getBigClassName()); if (agriculturalSCategoryList.size() != 0) { agriculturalPCategoryList = database .getSmallKindsOfCarBeanPMInfo( MyState.CAR_TYPE_MARK + "", agriculturalSCategoryList.get(0) .getSmallClassName()); agriculturalSCategory .setText(agriculturalSCategoryList.get(0) .getName()); if (agriculturalPCategoryList.size() != 0) { agriculturalPCategory .setText(agriculturalPCategoryList.get( 0).getName()); agriculturalCategoryCode = agriculturalPCategoryList .get(0).getCode(); } else { agriculturalPCategory.setText(""); } } else { agriculturalSCategory.setText(""); agriculturalPCategory.setText(""); } break; case 2: agriculturalPCategoryList = database .getSmallKindsOfCarBeanPMInfo( MyState.CAR_TYPE_MARK + "", agriculturalSCategoryList.get(which) .getSmallClassName()); if (agriculturalPCategoryList.size() != 0) { agriculturalPCategory .setText(agriculturalPCategoryList.get(0) .getName()); agriculturalCategoryCode = agriculturalPCategoryList .get(0).getCode(); } else { agriculturalPCategory.setText(""); } break; case 3: agriculturalCategoryCode = agriculturalPCategoryList .get(which).getCode(); break; default: break; } dialog.dismiss(); } }); dialog.create().show(); } } /** * 根据服务端获取的KindsOfCarBean计算出我的类别信息 * * @param carBean */ public void getSelectedItem(KindsOfCarBean carBean) { if (null != carBean) { try { long code = carBean.getCode(); int level = carBean.getLevel(); String tempName = null; if (level == 1) { for (int i = 0; i < agriculturalBCategoryList.size(); i++) { if (agriculturalBCategoryList.get(i).getCode() == code) { agriculturalBCategoryIndex = i; } } agriculturalBCategory.setText(agriculturalBCategoryList .get(agriculturalBCategoryIndex).getName()); } else if (level == 2) { // 先获取到农机小类 tempName = carBean.getBigClassName(); Log.e(TAG, level + "==" + tempName); agriculturalSCategoryList = database .getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", tempName); for (int i = 0; i < agriculturalSCategoryList.size(); i++) { if (null != agriculturalSCategoryList.get(i).getName()) { if (agriculturalSCategoryList.get(i).getName() .equals(carBean.getName())) { agriculturalSCategoryIndex = i; } } } for (int i = 0; i < agriculturalBCategoryList.size(); i++) { if (null != agriculturalBCategoryList.get(i).getName()) { if (agriculturalBCategoryList.get(i).getName() .equals(tempName)) { agriculturalBCategoryIndex = i; getSelectedItem(agriculturalBCategoryList .get(i)); } } } agriculturalSCategory.setText(agriculturalSCategoryList .get(agriculturalSCategoryIndex).getName()); } else if (level == 3) { // 先根据农机品目名称找到农机小类; tempName = carBean.getSmallClassName(); Log.e(TAG, level + "==" + tempName); agriculturalPCategoryList = database .getSmallKindsOfCarBeanPMInfo(MyState.CAR_TYPE_MARK + "", tempName); for (int i = 0; i < agriculturalPCategoryList.size(); i++) { if (null != agriculturalPCategoryList.get(i).getName()) { if (agriculturalPCategoryList.get(i).getName() .equals(tempName)) { agriculturalPCategoryIndex = i; } } } agriculturalPCategory.setText(agriculturalPCategoryList .get(agriculturalPCategoryIndex).getName()); tempName = carBean.getBigClassName(); agriculturalSCategoryList = database .getSmallKindsOfCarBeanInfo( MyState.CAR_SMALL_TYPE_MARK + "", tempName); for (int i = 0; i < agriculturalSCategoryList.size(); i++) { if (null != agriculturalSCategoryList.get(i).getName()) { if (agriculturalSCategoryList.get(i).getName() .equals(carBean.getSmallClassName())) { agriculturalSCategoryIndex = i; getSelectedItem(agriculturalSCategoryList .get(i)); } } } } } catch (Exception e) { e.printStackTrace(); } } } @Override protected void onDestroy() { super.onDestroy(); database.close_SqlDb(); } }