diff --git a/app/release/output.json b/app/release/output.json index bed9bf9..d97521d 100755 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":34,"versionName":"1.3.4","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":35,"versionName":"1.3.5","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 993adb0..f078529 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -48,6 +48,10 @@ android:theme="@style/AppTheme" android:usesCleartextTraffic="true" tools:ignore="GoogleAppIndexingWarning"> + + + + { - if (bean.getCommunityBossLevel() != 3) { + if (bean.getCommunityBossLevel() != 4) { Intent intent = new Intent(mActivity, PersonListActivity.class); intent.putExtra("id", bean.getAreaId()); intent.putExtra("bId", bean.getCommunityBossId()); diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/base/MainActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/base/MainActivity.java index 691171f..ce5dd8e 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/base/MainActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/base/MainActivity.java @@ -55,6 +55,7 @@ import com.sucstepsoft.realtimelocation.activitys.census.CensusExpandableMainAct import com.sucstepsoft.realtimelocation.activitys.census.CensusMainActivity; import com.sucstepsoft.realtimelocation.activitys.census.hire.CensusHireAddActivity; import com.sucstepsoft.realtimelocation.activitys.census.hire.CensusHireListActivity; +import com.sucstepsoft.realtimelocation.activitys.census.house.HouseManageListActivity; import com.sucstepsoft.realtimelocation.activitys.census.outbound.CensusOutboundListActivity; import com.sucstepsoft.realtimelocation.activitys.issue.IssueCheckActivity; import com.sucstepsoft.realtimelocation.activitys.issue.IssueInspectActivity; @@ -247,7 +248,6 @@ public class MainActivity extends BaseActivity { registerGpsSignal(); // checkLocalText(); registerGpsState(); - LogUtils.e("==重新启动="); String page = getIntent().getStringExtra("page"); if (!TextUtils.isEmpty(page) && "uncheck".equals(page)) { startActivity(new Intent(MainActivity.this, IssueCheckActivity.class)); @@ -525,7 +525,9 @@ public class MainActivity extends BaseActivity { @Override public void changePwd() { - + //房屋管理 + startActivity(new Intent(mActivity, HouseManageListActivity.class)); + build.dismiss(); } }); build.show(); diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/CensusEnterActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/CensusEnterActivity.java index 02cf437..963ec05 100644 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/CensusEnterActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/CensusEnterActivity.java @@ -110,7 +110,14 @@ public class CensusEnterActivity extends BaseActivity { private List mReligionList; private List mMarryList; - + private DicBean mSelGender;//性别 + private DicBean mSelNation;//名族 + private AreaBean mSelNative;//籍贯 + private DicBean mSelPolitical;//政治面貌 + private DicBean mSelEdu;//学历 + private DicBean mSelReligion;//信仰 + private DicBean mSelWorkType;//职业类别 + private DicBean mSelMarry;//婚姻状况 private OptionsPickerView mGenderPicker; private OptionsPickerView mNationPicker; private OptionsPickerView mNativePicker; @@ -122,6 +129,8 @@ public class CensusEnterActivity extends BaseActivity { private SimpleDateFormat mDateFormat = new SimpleDateFormat("yyyy-MM-dd"); private Unbinder mBind; private String mId; + private String mSelCensusIds = ""; + private String mSelCurLoc = ""; @Override protected int setLayoutId() { @@ -247,25 +256,25 @@ public class CensusEnterActivity extends BaseActivity { bean.setNameUsedBefore(onceName); } String gender = mTvGender.getText().toString().trim(); - bean.setGender(gender); + bean.setGender(mSelGender.getDictionaryId()); String birth = mTvBirth.getText().toString().trim(); bean.setBirthDate(birth); String nation = mTvNation.getText().toString().trim(); - bean.setNation(nation); + bean.setNation(mSelNation.getDictionaryId()); String nativeStr = mTvNative.getText().toString().trim(); - bean.setNativePlace(nativeStr); + bean.setNativePlace(mSelNative.getAreaId()); String marry = mTvMarry.getText().toString().trim(); - bean.setMaritalStatus(marry); + bean.setMaritalStatus(mSelMarry.getDictionaryId()); String political = mTvPolitical.getText().toString().trim(); - bean.setPoliticalStatus(political); + bean.setPoliticalStatus(mSelPolitical.getDictionaryId()); String edu = mTvEdu.getText().toString().trim(); - bean.setEducation(edu); + bean.setEducation(mSelEdu.getDictionaryId()); String religion = mTvReligion.getText().toString().trim(); if (!TextUtils.isEmpty(religion)) { - bean.setReligion(religion); + bean.setReligion(mSelReligion.getDictionaryId()); } String workType = mTvWorkType.getText().toString().trim(); - bean.setOccupationCategory(workType); + bean.setOccupationCategory(mSelWorkType.getDictionaryId()); String work = mTvWork.getText().toString().trim(); bean.setOccupation(work); String workSpace = mEtWorkSpace.getText().toString().trim(); @@ -275,11 +284,11 @@ public class CensusEnterActivity extends BaseActivity { String phone = mEtPhone.getText().toString().trim(); bean.setTelephone(phone); String censusLoc = mTvCensusLoc.getText().toString().trim(); - bean.setRegisteredResidence(censusLoc); + bean.setRegisteredResidence(mSelCensusIds); String censusDetail = mEtCensusDetail.getText().toString().trim(); bean.setRegisteredResidenceAddr(censusDetail); String curLoc = mTvCurLoc.getText().toString().trim(); - bean.setCurrentResidence(curLoc); + bean.setCurrentResidence(mSelCurLoc); String curDetail = mEtCurDetail.getText().toString().trim(); bean.setCurrentResidenceAddr(curDetail); Gson gson = new Gson(); @@ -503,6 +512,7 @@ public class CensusEnterActivity extends BaseActivity { if (mMarryPicker == null) { mMarryPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { DicBean bean = mMarryList.get(o1); + mSelMarry = bean; mTvMarry.setText(bean.getDictionaryName()); }) .setTitleText("请选择") @@ -528,6 +538,7 @@ public class CensusEnterActivity extends BaseActivity { if (mGenderPicker == null) { mGenderPicker = new OptionsPickerBuilder(mActivity, (options1, options2, options3, v) -> { DicBean bean = mGenderList.get(options1); + mSelGender = bean; mTvGender.setText(bean.getDictionaryName()); }).setTitleText("请选择") .setCancelColor(Color.parseColor("#1189FF")) @@ -590,6 +601,7 @@ public class CensusEnterActivity extends BaseActivity { if (mNationPicker == null) { mNationPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { DicBean bean = mNationList.get(o1); + mSelNation = bean; mTvNation.setText(bean.getDictionaryName()); }) .setTitleText("请选择") @@ -615,6 +627,7 @@ public class CensusEnterActivity extends BaseActivity { if (mNativePicker == null) { mNativePicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { AreaBean bean = mNativeList.get(o1); + mSelNative = bean; mTvNative.setText(bean.getAreaName()); }) .setTitleText("请选择") @@ -678,6 +691,7 @@ public class CensusEnterActivity extends BaseActivity { if (mPoliticalPicker == null) { mPoliticalPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { DicBean bean = mPoliticalList.get(o1); + mSelPolitical = bean; mTvPolitical.setText(bean.getDictionaryName()); }) .setTitleText("请选择") @@ -702,6 +716,7 @@ public class CensusEnterActivity extends BaseActivity { if (mEduPicker == null) { mEduPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { DicBean bean = mEduList.get(o1); + mSelEdu = bean; mTvEdu.setText(bean.getDictionaryName()); }) .setTitleText("请选择") @@ -726,6 +741,7 @@ public class CensusEnterActivity extends BaseActivity { if (mReligionPicker == null) { mReligionPicker = new OptionsPickerBuilder(mActivity, (o1, o2, o3, v) -> { DicBean bean = mReligionList.get(o1); + mSelReligion = bean; mTvReligion.setText(bean.getDictionaryName()); }) .setTitleText("请选择") @@ -757,6 +773,7 @@ public class CensusEnterActivity extends BaseActivity { if (requestCode == 1234) { if (resultCode == 222) { DicBean bean = (DicBean) data.getSerializableExtra("bean"); + mSelWorkType = bean; mTvWorkType.setText(bean.getDictionaryName()); } } @@ -831,13 +848,15 @@ public class CensusEnterActivity extends BaseActivity { .setIsBackCancelable(false) .setIscancelable(false) .build(); - areaDialogView.addOnChoseListener(list -> { + areaDialogView.addOnChoseListener((list, ids) -> { switch (type) { case 1://户籍地 mTvCensusLoc.setText(list); + mSelCensusIds = ids; break; case 2://现在住地 mTvCurLoc.setText(list); + mSelCurLoc = ids; break; } areaDialogView.dismiss(); diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddBuildingActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddBuildingActivity.java new file mode 100644 index 0000000..9cf1d04 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddBuildingActivity.java @@ -0,0 +1,59 @@ +package com.sucstepsoft.realtimelocation.activitys.census.house; + +import android.content.Intent; +import android.support.annotation.Nullable; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.EditText; +import android.widget.TextView; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.realtimelocation.R; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; + +/** + * 添加楼宇 + */ +public class AddBuildingActivity extends BaseActivity { + @BindView(R.id.tv_community) + TextView mTvCommunity;//小区名称 + @BindView(R.id.et_build_name) + EditText mEtBuildName;//楼宇名称 + @BindView(R.id.et_build_num) + EditText mEtBuildNum;//楼宇编号 + @BindView(R.id.et_build_unit) + EditText mEtBuildUnit;//单元数 + @BindView(R.id.et_build_layer) + EditText mEtBuildLayer;//层数 + @BindView(R.id.et_build_family) + EditText mEtBuildFamily;//户数 + + private Unbinder mBind; + + @Override + protected int setLayoutId() { + return R.layout.activity_add_building; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("楼宇添加"); + refreshView(STATE_LOAD_SUCCESS); + mTvCommunity.setOnClickListener(v -> startActivityForResult(new Intent(mActivity, SelCommunityActivity.class), 123)); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + if (requestCode == 123) { + if (resultCode == 333) { + + } + } + super.onActivityResult(requestCode, resultCode, data); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddHouseActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddHouseActivity.java new file mode 100644 index 0000000..ec5524b --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/AddHouseActivity.java @@ -0,0 +1,47 @@ +package com.sucstepsoft.realtimelocation.activitys.census.house; + +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.widget.EditText; +import android.widget.TextView; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.realtimelocation.R; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; + +/** + * 添加房屋 + */ +public class AddHouseActivity extends BaseActivity { + @BindView(R.id.tv_community) + TextView mTvCommunity;//小区名称 + @BindView(R.id.et_build_name) + EditText mEtBuildName;//楼宇名称 + @BindView(R.id.et_build_num) + EditText mEtBuildNum;//楼宇编号 + @BindView(R.id.et_build_unit) + EditText mEtBuildUnit;//单元数 + @BindView(R.id.et_build_layer) + EditText mEtBuildLayer;//层数 + @BindView(R.id.et_build_family) + EditText mEtBuildFamily;//户数 + private Unbinder mBind; + + @Override + protected int setLayoutId() { + return R.layout.activity_add_house; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + + mTvBaseTitle.setText("房屋添加"); + refreshView(STATE_LOAD_SUCCESS); + mTvCommunity.setOnClickListener(v -> startActivityForResult(new Intent(mActivity, SelCommunityActivity.class), 123)); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/HouseManageListActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/HouseManageListActivity.java new file mode 100644 index 0000000..ead58c4 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/HouseManageListActivity.java @@ -0,0 +1,151 @@ +package com.sucstepsoft.realtimelocation.activitys.census.house; + +import android.content.Intent; +import android.support.annotation.Nullable; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentStatePagerAdapter; +import android.support.v4.view.ViewPager; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.core.widget.views.CenterBuildDialogView; +import com.sucstepsoft.cm_utils.core.widget.views.CenterFuncDialogView; +import com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout; +import com.sucstepsoft.realtimelocation.R; +import com.sucstepsoft.realtimelocation.activitys.census.CensusExpandableMainActivity; +import com.sucstepsoft.realtimelocation.activitys.census.hire.CensusHireAddActivity; +import com.sucstepsoft.realtimelocation.activitys.census.hire.CensusHireListActivity; +import com.sucstepsoft.realtimelocation.activitys.census.outbound.CensusOutboundListActivity; +import com.sucstepsoft.realtimelocation.activitys.issue.IssueSpecialRecordActivity; +import com.sucstepsoft.realtimelocation.fragments.house.HouseManageFragment; +import com.sucstepsoft.realtimelocation.fragments.issue.SpecialPendingFragment; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; + +/** + * 房屋管理 + */ +public class HouseManageListActivity extends BaseActivity { + + @BindView(R.id.xtl_tabs) + XTabLayout mTablayout; + @BindView(R.id.vp_content) + ViewPager mVpContent; + @BindView(R.id.btn_add_house) + Button mBtnAddHouse; + private Unbinder mBind; + private String[] mTitles = new String[]{"楼宇", "房子"}; + private List mFragments = new ArrayList<>(); + + @Override + protected int setLayoutId() { + return R.layout.activity_house_manage_list; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("楼宇房屋管理"); + mTvPublish.setVisibility(View.VISIBLE); + refreshView(STATE_LOAD_SUCCESS); + mTvPublish.setText("搜索"); + mTvPublish.setOnClickListener(v -> { + + }); +// for (int i = 0; i < mTitles.length; i++) { +// HouseManageFragment fragment = new HouseManageFragment(); +// Bundle bundle = new Bundle(); +// bundle.putString("title", mTitles[i]); +// bundle.putString("type", i + ""); +// fragment.setArguments(bundle); +// mFragments.add(fragment); +// } +// VpRecordAdapter adapter = new VpRecordAdapter(getSupportFragmentManager()); +// mVpContent.setAdapter(adapter); +// mTablayout.setxTabDisplayNum(2); +// mTablayout.setupWithViewPager(mVpContent); + mBtnAddHouse.setOnClickListener(v -> showTypeDialog()); + } + + private void showTypeDialog() { + CenterBuildDialogView build = new CenterBuildDialogView.DialogBuilder(mActivity) + .setIscancelable(true) + .setIsBackCancelable(true) + .build(); + build.addOnChoseListener(new CenterBuildDialogView.OnChoseListener() { + @Override + public void choseFile() { + } + + @Override + public void choseAlbum() { + } + + @Override + public void choseShoot() { + //添加房屋 + startActivity(new Intent(mActivity, AddHouseActivity.class)); + build.dismiss(); + } + + @Override + public void loginOut() { + + } + + @Override + public void changePwd() { + //添加楼宇 + startActivity(new Intent(mActivity, AddBuildingActivity.class)); + build.dismiss(); + } + }); + build.show(); + } + + + private class VpRecordAdapter extends FragmentStatePagerAdapter { + + public VpRecordAdapter(FragmentManager fm) { + super(fm); + } + + @Override + public Fragment getItem(int i) { + return mFragments.get(i); + } + + @Override + public int getCount() { + if (mFragments != null) { + return mFragments.size(); + } else { + return 0; + } + } + + @Nullable + @Override + public CharSequence getPageTitle(int position) { + return mTitles[position]; + } + } + + @Override + protected void onDestroy() { + mFragments = null; + if (mBind != null) { + mBind.unbind(); + } + super.onDestroy(); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/SelCommunityActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/SelCommunityActivity.java new file mode 100644 index 0000000..2238f3f --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/house/SelCommunityActivity.java @@ -0,0 +1,209 @@ +package com.sucstepsoft.realtimelocation.activitys.census.house; + +import android.content.Intent; +import android.support.v7.widget.LinearLayoutManager; +import android.text.TextUtils; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; + +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; +import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; +import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; +import com.sucstepsoft.realtimelocation.R; +import com.sucstepsoft.realtimelocation.adapters.CensusPersonAdapter; +import com.sucstepsoft.realtimelocation.adapters.CommunityAdapter; +import com.sucstepsoft.realtimelocation.beans.person.CensusPersonBean; +import com.sucstepsoft.realtimelocation.beans.person.CommunityListBean; +import com.sucstepsoft.realtimelocation.net.LocationApiService; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; + +/** + * 选择小区 + */ +public class SelCommunityActivity extends BaseActivity { + @BindView(R.id.iv_clear) + ImageView mIvClear; + @BindView(R.id.et_search_centent) + EditText mEtSearchContent; + @BindView(R.id.btn_search) + Button mBtnSearch; + @BindView(R.id.xlv_content) + XRecyclerView mXlvItems; + + private Unbinder mBind; + private String mRows = "20"; + private int mCurPage = 1; + private CommunityAdapter mAdapter; + private List mDatas = new ArrayList<>(); + private Disposable mDisposable; + private String mKeywords = ""; + + + @Override + protected int setLayoutId() { + return R.layout.activity_sel_community; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("小区选择"); + + + mBtnSearch.setOnClickListener(v -> doSearch()); + mIvClear.setOnClickListener(v -> { + mKeywords = ""; + mEtSearchContent.setText(""); + refreshData(); + }); + + mAdapter = new CommunityAdapter(mActivity, mDatas); + LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + mXlvItems.setLayoutManager(layoutManager); + mXlvItems.setAdapter(mAdapter); + mXlvItems.setRefreshProgressStyle(ProgressStyle.BallGridBeat); + mXlvItems.setLoadingMoreProgressStyle(ProgressStyle.Pacman); + mXlvItems.setPullRefreshEnabled(true); + mXlvItems.setLoadingMoreEnabled(true); + mXlvItems.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + refreshData(); + } + + @Override + public void onLoadMore() { + getCommunityList(mCurPage); + } + }); + mAdapter.addOnEditListener(new CommunityAdapter.OnEditListener() { + @Override + public void onDel(CommunityListBean.RowsBean bean, int pos) { + } + + @Override + public void onEdit(CommunityListBean.RowsBean bean, int pos) { + doSel(bean); + } + }); + } + + private void refreshData() { + getCommunityList(1); + } + + @Override + protected void onResume() { + super.onResume(); + refreshData(); + } + + /** + * 搜索 + */ + private void doSearch() { + String searchContent = mEtSearchContent.getText().toString().trim(); + if (!TextUtils.isEmpty(searchContent)) { + hideSoftKeyboard(); + mKeywords = searchContent; + mCurPage = 1; + getCommunityList(mCurPage); + } else { + ToastUtils.showShort("请输入要查询的内容"); + } + } + + /** + * 提交选择 + * + * @param bean + */ + private void doSel(CommunityListBean.RowsBean bean) { + Intent intent = new Intent(); + intent.putExtra("id", bean.getCityDistrictId()); + intent.putExtra("name", bean.getDistrictName()); + setResult(333, intent); + finish(); + } + + /** + * 获取列表 + */ + private void getCommunityList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getCommunityList(page + "", mKeywords, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + + } + + @Override + public void onNext(CommunityListBean leaveListBean) { + if (leaveListBean != null && leaveListBean.getRows() != null && leaveListBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(leaveListBean.getRows()); + } else { + mDatas.addAll(leaveListBean.getRows()); + } + refreshView(STATE_LOAD_SUCCESS); + mAdapter.notifyDataSetChanged(); + mXlvItems.refreshComplete(); + if (mDatas.size() >= leaveListBean.getTotal()) { + mXlvItems.loadMoreComplete(); + mXlvItems.setNoMore(true); + } else { + mXlvItems.loadMoreComplete(); + mXlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mXlvItems.loadMoreComplete(); + mXlvItems.setNoMore(true); + refreshView(STATE_LOAD_SUCCESS); + } else { + if (TextUtils.isEmpty(mKeywords)) { + //无数据 + refreshView(STATE_LOAD_EMPTY); + } else { + ToastUtils.showShort("未查询到相关内容"); + } + } + } + } + + @Override + public void onError(Throwable e) { + ToastUtils.showShort("数据加载失,请稍后重试"); + refreshView(STATE_LOAD_ERROR); + } + + @Override + public void onComplete() { + + } + }); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/outbound/CensusOutBoundAddActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/outbound/CensusOutBoundAddActivity.java index 9bd1ddb..b7d7917 100644 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/outbound/CensusOutBoundAddActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/census/outbound/CensusOutBoundAddActivity.java @@ -164,7 +164,7 @@ public class CensusOutBoundAddActivity extends BaseActivity { .setIsBackCancelable(false) .setIscancelable(false) .build(); - areaDialogView.addOnChoseListener(list -> { + areaDialogView.addOnChoseListener((list, ids) -> { mTvCurLoc.setText(list); mCurrentLoc = list; areaDialogView.dismiss(); diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueCheckActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueCheckActivity.java index 54bb350..422d046 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueCheckActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueCheckActivity.java @@ -9,6 +9,7 @@ import com.jcodecraeer.xrecyclerview.ProgressStyle; import com.jcodecraeer.xrecyclerview.XRecyclerView; import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity; +import com.sucstepsoft.cm_utils.utils.LogUtils; import com.sucstepsoft.cm_utils.utils.ToastUtils; import com.sucstepsoft.cm_utils.utils.UserLgUtils; import com.sucstepsoft.realtimelocation.R; diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueDetailActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueDetailActivity.java index c43368d..024156d 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueDetailActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueDetailActivity.java @@ -169,10 +169,10 @@ public class IssueDetailActivity extends BaseActivity { if (TextUtils.isEmpty(mCheck)) { mLlIssueDisDetail.setVisibility(View.GONE); mLlGrade.setVisibility(View.GONE); - mBtnReturn.setVisibility(View.VISIBLE); + mBtnReturn.setVisibility(View.GONE); } else { mLlGrade.setVisibility(View.VISIBLE); - mBtnReturn.setVisibility(View.GONE); + mBtnReturn.setVisibility(View.VISIBLE); mLlIssueDisDetail.setVisibility(View.VISIBLE); } if (!TextUtils.isEmpty(mine)) { diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssuePubReportActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssuePubReportActivity.java index dabd45b..0b9b779 100644 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssuePubReportActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssuePubReportActivity.java @@ -147,6 +147,7 @@ public class IssuePubReportActivity extends BaseActivity { private List mUserBeans = new ArrayList<>(); private OptionsPickerView mPersonPicker; private String mSelPersonId; + @Override protected int setLayoutId() { return R.layout.activity_issue_pub_report; @@ -177,7 +178,7 @@ public class IssuePubReportActivity extends BaseActivity { if (PathConfig.USER_TYPE_N.equals(appTokenUser.getRoles().get(i).getRoleId())) { //N员 mSelSource = "3"; - mTvSourceContent.setText("N员上报"); + mTvSourceContent.setText("专管员上报"); break; } } @@ -526,7 +527,6 @@ public class IssuePubReportActivity extends BaseActivity { } - /** * 显示案件类别 */ @@ -564,7 +564,7 @@ public class IssuePubReportActivity extends BaseActivity { private void getCaseTypeList(int i) { RetrofitManager.getInstance() .create(LocationApiService.class) - .getDictListAll("46d108b2-4ef9-4f6f-b30c-0c700e3ee852", UserLgUtils.getToken()) + .getDictListAllNew("46d108b2-4ef9-4f6f-b30c-0c700e3ee852", UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer>() { diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueReportActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueReportActivity.java index 8e4e9ba..a427fe9 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueReportActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/issue/IssueReportActivity.java @@ -211,7 +211,7 @@ public class IssueReportActivity extends BaseActivity { if (PathConfig.USER_TYPE_N.equals(appTokenUser.getRoles().get(i).getRoleId())) { //N员 mSelSource = "3"; - mTvSourceContent.setText("N员上报"); + mTvSourceContent.setText("专管员上报"); break; } } @@ -278,11 +278,11 @@ public class IssueReportActivity extends BaseActivity { if (isSelf) { mLlCaseType.setVisibility(View.GONE); if ("3".equals(mSelSource)) { - mTvSourceContent.setText("N员上报(自处理)"); + mTvSourceContent.setText("专管员上报(自处理)"); } } else { if ("3".equals(mSelSource)) { - mTvSourceContent.setText("N员上报"); + mTvSourceContent.setText("专管员上报"); } mLlCaseType.setVisibility(View.VISIBLE); } @@ -337,14 +337,14 @@ public class IssueReportActivity extends BaseActivity { bean1.setDictId("2"); bean1.setDictName("街镇案件"); - TypeListBean bean2 = new TypeListBean(); - bean2.setDictId("3"); - bean2.setDictName("其他类案件"); +// TypeListBean bean2 = new TypeListBean(); +// bean2.setDictId("3"); +// bean2.setDictName("其他类案件"); mCaseTypeList = new ArrayList<>(); mCaseTypeList.add(bean); mCaseTypeList.add(bean1); - mCaseTypeList.add(bean2); +// mCaseTypeList.add(bean2); onShowCaseTypePicker(); } } diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/mine/UserActivity.java b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/mine/UserActivity.java index be46432..07821f7 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/mine/UserActivity.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/activitys/mine/UserActivity.java @@ -113,8 +113,8 @@ public class UserActivity extends BaseActivity { RelativeLayout mRlLeave; @BindView(R.id.rl_leave_check) RelativeLayout mRlLeaveCheck; - @BindView(R.id.ib_app_back) - Button mIbBack; + @BindView(R.id.btn_back) + Button mBtnBack; private String mPicPath; private Unbinder mBind; @@ -130,7 +130,7 @@ public class UserActivity extends BaseActivity { mRlTitleBar.setVisibility(View.GONE); // mTvBaseTitle.setText("个人中心"); refreshView(STATE_LOAD_SUCCESS); - mIbBack.setOnClickListener(v -> finish()); + mBtnBack.setOnClickListener(v -> finish()); mLlChangePwd.setOnClickListener(v -> choosePage(1)); mLlUserInfo.setOnClickListener(v -> choosePage(2)); mBtnSubmit.setOnClickListener(v -> loginOut()); @@ -149,18 +149,18 @@ public class UserActivity extends BaseActivity { if (!TextUtils.isEmpty(loginInfo)) { Gson mGson = new Gson(); AppTokenUser appTokenUser = mGson.fromJson(loginInfo, AppTokenUser.class); - String type = "片长"; + String type = "网格员"; if (appTokenUser.getRoles() != null && appTokenUser.getRoles().size() > 0) { for (int i = 0; i < appTokenUser.getRoles().size(); i++) { if (PathConfig.USER_TYPE_N.equals(appTokenUser.getRoles().get(i).getRoleId())) { - type = "N员"; + type = "专管员"; break; } } } mTvDepart.setText(type); } else { - mTvDepart.setText("片长"); + mTvDepart.setText("网格员"); } Glide.with(mActivity) .load(BaseUrlApi.BASE_IMG_URL + UserLgUtils.getAvatar()) @@ -274,12 +274,13 @@ public class UserActivity extends BaseActivity { showToast("图片路径错误."); return; } - int[] imageWidthHeight = getImageWidthHeight(picPath); - if (imageWidthHeight[0] > 413 || imageWidthHeight[1] > 626) { - ToastUtils.showShort("图片宽度必须小于等于413像素,高度必须小于626像素"); - } else { - doUploaddImg(picPath); - } +// int[] imageWidthHeight = getImageWidthHeight(picPath); +// if (imageWidthHeight[0] > 413 || imageWidthHeight[1] > 626) { +// ToastUtils.showShort("图片宽度必须小于等于413像素,高度必须小于626像素"); +// } else { +// +// } + doUploaddImg(picPath); } private void doUploaddImg(String picPath) { @@ -323,9 +324,9 @@ public class UserActivity extends BaseActivity { progressDialog.dismiss(); } ToastUtils.showShort("头像修改失败,请稍后重试."); - if (file.exists()) { - file.delete(); - } +// if (file.exists()) { +// file.delete(); +// } } @Override diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/CommunityAdapter.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/CommunityAdapter.java new file mode 100644 index 0000000..3fbed22 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/CommunityAdapter.java @@ -0,0 +1,54 @@ +package com.sucstepsoft.realtimelocation.adapters; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter; +import com.sucstepsoft.realtimelocation.R; +import com.sucstepsoft.realtimelocation.adapters.holders.CensusPersonHolder; +import com.sucstepsoft.realtimelocation.adapters.holders.CommunityHolder; +import com.sucstepsoft.realtimelocation.beans.person.CensusPersonBean; +import com.sucstepsoft.realtimelocation.beans.person.CommunityListBean; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2020/11/17 - 1:22 PM + * 邮箱: itgaojian@163.com + * 描述: 人口adapter + */ +public class CommunityAdapter extends BaseRecyclerAdapter { + public CommunityAdapter(Context ctx, List list) { + super(ctx, list); + } + + @Override + public CommunityHolder createHolder(ViewGroup parent, int viewType) { + View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_community_sel, parent, false); + return new CommunityHolder(itemView); + } + + @Override + public void bindHolder(CommunityHolder censusPersonHolder, int i) { + CommunityListBean.RowsBean bean = mData.get(i); + censusPersonHolder.mTvAreaName.setText(bean.getAreaName()); + censusPersonHolder.mTvDistrictName.setText(bean.getDistrictName()); + censusPersonHolder.mTvCommunityName.setText(bean.getCommunityName()); + censusPersonHolder.mBtnConfirm.setOnClickListener(v -> mEditListener.onEdit(bean, i)); + } + + private OnEditListener mEditListener; + + public void addOnEditListener(OnEditListener mListener) { + this.mEditListener = mListener; + } + + public interface OnEditListener { + void onDel(CommunityListBean.RowsBean bean, int pos); + + void onEdit(CommunityListBean.RowsBean bean, int pos); + } +} diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonAdapter.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonAdapter.java index a49d41f..d5da7dc 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonAdapter.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/PersonAdapter.java @@ -42,16 +42,24 @@ public class PersonAdapter extends BaseRecyclerAdapter int le = mData.get(i).getCommunityBossLevel(); if (le != 0) { switch (le) { + case 0: + personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(一级网格长)"); + personHolder.mLlNext.setVisibility(View.VISIBLE); + break; case 1: - personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(一级片长)"); + personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(二级网格长)"); personHolder.mLlNext.setVisibility(View.VISIBLE); break; case 2: - personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(二级片长)"); + personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(三级网格长)"); personHolder.mLlNext.setVisibility(View.VISIBLE); break; case 3: - personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(三级片长)"); + personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(四级网格长)"); + personHolder.mLlNext.setVisibility(View.VISIBLE); + break; + case 4: + personHolder.mTvUserName.setText(mData.get(i).getCommunityBossName() + "(五级网格员)"); personHolder.mLlNext.setVisibility(View.GONE); break; } diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/CommunityHolder.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/CommunityHolder.java new file mode 100644 index 0000000..987cc96 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/CommunityHolder.java @@ -0,0 +1,30 @@ +package com.sucstepsoft.realtimelocation.adapters.holders; + +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.Button; +import android.widget.TextView; + +import com.sucstepsoft.realtimelocation.R; + +/** + * 作者: adam + * 日期: 2021/7/9 - 3:22 下午 + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CommunityHolder extends RecyclerView.ViewHolder { + public TextView mTvAreaName;//街道名称 + public TextView mTvCommunityName;//社区名称 + public TextView mTvDistrictName;//小区名称 + public Button mBtnConfirm;//选择 + + public CommunityHolder(@NonNull View itemView) { + super(itemView); + mTvAreaName = itemView.findViewById(R.id.tv_area); + mTvCommunityName = itemView.findViewById(R.id.tv_community); + mTvDistrictName = itemView.findViewById(R.id.tv_district); + mBtnConfirm = itemView.findViewById(R.id.btn_confirm); + } +} diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/HouseHolder.java b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/HouseHolder.java new file mode 100644 index 0000000..0e52456 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/adapters/holders/HouseHolder.java @@ -0,0 +1,18 @@ +package com.sucstepsoft.realtimelocation.adapters.holders; + +import android.support.annotation.NonNull; +import android.support.v7.widget.RecyclerView; +import android.view.View; + +/** + * 作者: adam + * 日期: 2021/7/9 - 2:28 下午 + * 邮箱: itgaojian@163.com + * 描述: + */ +public class HouseHolder extends RecyclerView.ViewHolder { + + public HouseHolder(@NonNull View itemView) { + super(itemView); + } +} diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CommunityListBean.java b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CommunityListBean.java new file mode 100644 index 0000000..4d20226 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/beans/person/CommunityListBean.java @@ -0,0 +1,115 @@ +package com.sucstepsoft.realtimelocation.beans.person; + +import java.util.List; + +/** + * 作者: adam + * 日期: 2021/7/9 - 3:20 下午 + * 邮箱: itgaojian@163.com + * 描述: + */ +public class CommunityListBean { + + private int page; + private int total; + private List rows; + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public static class RowsBean { + private String areaId; + private String areaName; + private String cityDistrictId; + private String communityBossId; + private String communityId; + private String communityName; + private String districtName; + private String districtRemark; + + public String getAreaId() { + return areaId; + } + + public void setAreaId(String areaId) { + this.areaId = areaId; + } + + public String getAreaName() { + return areaName; + } + + public void setAreaName(String areaName) { + this.areaName = areaName; + } + + public String getCityDistrictId() { + return cityDistrictId; + } + + public void setCityDistrictId(String cityDistrictId) { + this.cityDistrictId = cityDistrictId; + } + + public String getCommunityBossId() { + return communityBossId; + } + + public void setCommunityBossId(String communityBossId) { + this.communityBossId = communityBossId; + } + + public String getCommunityId() { + return communityId; + } + + public void setCommunityId(String communityId) { + this.communityId = communityId; + } + + public String getCommunityName() { + return communityName; + } + + public void setCommunityName(String communityName) { + this.communityName = communityName; + } + + public String getDistrictName() { + return districtName; + } + + public void setDistrictName(String districtName) { + this.districtName = districtName; + } + + public String getDistrictRemark() { + return districtRemark; + } + + public void setDistrictRemark(String districtRemark) { + this.districtRemark = districtRemark; + } + } +} diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/fragments/house/HouseManageFragment.java b/app/src/main/java/com/sucstepsoft/realtimelocation/fragments/house/HouseManageFragment.java new file mode 100755 index 0000000..56c2a92 --- /dev/null +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/fragments/house/HouseManageFragment.java @@ -0,0 +1,545 @@ +package com.sucstepsoft.realtimelocation.fragments.house; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.text.TextUtils; +import android.view.LayoutInflater; +import android.view.View; + +import com.jcodecraeer.xrecyclerview.ProgressStyle; +import com.jcodecraeer.xrecyclerview.XRecyclerView; +import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager; +import com.sucstepsoft.cm_utils.core.widget.base.LazyFragment; +import com.sucstepsoft.cm_utils.utils.ToastUtils; +import com.sucstepsoft.cm_utils.utils.UserLgUtils; +import com.sucstepsoft.realtimelocation.R; +import com.sucstepsoft.realtimelocation.activitys.issue.IssueSpecialDetailActivity; +import com.sucstepsoft.realtimelocation.adapters.IssueSubAdapter; +import com.sucstepsoft.realtimelocation.beans.IssueSubBean; +import com.sucstepsoft.realtimelocation.net.LocationApiService; +import com.sucstepsoft.realtimelocation.utils.ExceptionHandler; + +import java.util.ArrayList; +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; + +/** + * 作者: Adam + * 日期: 2021/7/9 - 14:21 + * 邮箱: itgaojian@163.com + * 描述: 房屋管理 + */ +public class HouseManageFragment extends LazyFragment { + @BindView(R.id.rlv_items) + XRecyclerView mRlvItems; + private List mDatas; + private IssueSubAdapter mAdapter; + private String mRows = "20"; + private int mCurPage = 1; + private int mType = 3; + private Unbinder mBind; + private Activity mActivity; + private String mTitle; + private Disposable mDisFinish; + private Disposable mDisWait; + private Disposable mDisCheck; + private Disposable mDisDis; + private Disposable mDisAppoint; + + @Override + protected void onCreateViewLazy(Bundle savedInstanceState) { + super.onCreateViewLazy(savedInstanceState); + View view = LayoutInflater.from(mActivity).inflate(R.layout.fragment_house_manage, null); + setContentView(view); + mBind = ButterKnife.bind(this, view); + mDatas = new ArrayList<>(); + mAdapter = new IssueSubAdapter(mActivity, mDatas, false); + Bundle arguments = getArguments(); + mTitle = arguments.getString("title"); + LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity); + layoutManager.setOrientation(LinearLayoutManager.VERTICAL); + mRlvItems.setLayoutManager(layoutManager); + mRlvItems.setAdapter(mAdapter); + mAdapter.addOnItemClickListener(this::showIssueDetail); + mRlvItems.setNoMore(true); + mRlvItems.setRefreshProgressStyle(ProgressStyle.BallGridBeat); + mRlvItems.setLoadingMoreProgressStyle(ProgressStyle.Pacman); + mRlvItems.setLoadingListener(new XRecyclerView.LoadingListener() { + @Override + public void onRefresh() { + refresh(); + } + + @Override + public void onLoadMore() { + loadMore(); + } + }); +// 3"待处理", 4"待检查",6 "已归档" + if (!TextUtils.isEmpty(mTitle)) { +// "待下派", 3"待处理", 4"待检查", 6"已归档" + switch (mTitle) { + case "待检查": + mType = 4; + getDisposeList(1); + break; + case "已归档": + mType = 6; + getDisposeList(1); + break; + case "待处理": + default: + mType = 3; + getDisposeList(1); + break; + } + } + } + + /** + * 显示详情 + * + * @param bean + */ + private void showIssueDetail(IssueSubBean.RowsBean bean) { + Intent intent = new Intent(mActivity, IssueSpecialDetailActivity.class); + intent.putExtra("bean", bean); + switch (bean.getCaseStatus()) { + case "0"://待受理 + break; + case "1"://待立案 + break; + case "2"://待下派 + break; + case "3"://待处理 + break; + case "4": + case "5": + case "6"://已经归档 + intent.putExtra("check", "check"); + break; + default: + break; + } + startActivity(intent); + } + + @Override + protected void onFragmentStartLazy() { + super.onFragmentStartLazy(); + } + + @Override + public void onAttach(Activity activity) { + super.onAttach(activity); + this.mActivity = activity; + } + + /** + * 刷新视图 + * + * @param state + */ + private void refreshView(int state) { + switch (state) { + case 14://加载中 + break; + case 15://加载成功 + break; + case 16://加载失败 + break; + } + } + + @Override + protected void onDestroyViewLazy() { + super.onDestroyViewLazy(); + if (mDisAppoint != null && !mDisAppoint.isDisposed()) { + mDisAppoint.dispose(); + } + if (mDisCheck != null && !mDisCheck.isDisposed()) { + mDisCheck.dispose(); + } + if (mDisDis != null && !mDisDis.isDisposed()) { + mDisDis.dispose(); + } + if (mDisFinish != null && !mDisFinish.isDisposed()) { + mDisFinish.dispose(); + } + if (mDisWait != null && !mDisWait.isDisposed()) { + mDisWait.dispose(); + } + mRlvItems.destroy(); + mRlvItems = null; + mBind.unbind(); + mAdapter = null; + mDatas = null; + } + + /** + * 待下派 + */ + private void getAppointList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getIssueSubList(mRows, mCurPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisAppoint = d; + } + + @Override + public void onNext(IssueSubBean issueSubBean) { + if (issueSubBean != null && issueSubBean.getRows() != null && issueSubBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(issueSubBean.getRows()); + } else { + mDatas.addAll(issueSubBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvItems.refreshComplete(); + if (mDatas.size() >= issueSubBean.getTotal()) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + //无数据 + mRlvItems.refreshComplete(); + mRlvItems.setNoMore(true); + ToastUtils.showShort("暂无数据"); + } + } + } + + @Override + public void onError(Throwable e) { + e.printStackTrace(); + mRlvItems.refreshComplete(); + mRlvItems.loadMoreComplete(); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 待处理 + */ + private void getDisposeList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getIssueNewDisList(mType + "", mRows, mCurPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisDis = d; + } + + @Override + public void onNext(IssueSubBean issueSubBean) { + if (issueSubBean != null && issueSubBean.getRows() != null && issueSubBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(issueSubBean.getRows()); + } else { + mDatas.addAll(issueSubBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvItems.refreshComplete(); + if (mDatas.size() >= issueSubBean.getTotal()) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + //无数据 + mRlvItems.refreshComplete(); + mRlvItems.setNoMore(true); + ToastUtils.showShort("暂无数据"); + } + } + } + + @Override + public void onError(Throwable e) { + ExceptionHandler.handleException(e); + mRlvItems.refreshComplete(); + mRlvItems.loadMoreComplete(); + e.printStackTrace(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 待检查 + */ + private void getCheckList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getIssueInspectList(mRows, mCurPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisCheck = d; + } + + @Override + public void onNext(IssueSubBean issueSubBean) { + if (issueSubBean != null && issueSubBean.getRows() != null && issueSubBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(issueSubBean.getRows()); + } else { + mDatas.addAll(issueSubBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvItems.refreshComplete(); + if (mDatas.size() >= issueSubBean.getTotal()) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + //无数据 + mRlvItems.refreshComplete(); + mRlvItems.setNoMore(true); + ToastUtils.showShort("暂无数据"); + } + } + } + + @Override + public void onError(Throwable e) { + ExceptionHandler.handleException(e); + e.printStackTrace(); + mRlvItems.refreshComplete(); + mRlvItems.loadMoreComplete(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 待结案 + */ + private void getWaitFinishList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getIssueCloseList(mRows, mCurPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisWait = d; + } + + @Override + public void onNext(IssueSubBean issueSubBean) { + if (issueSubBean != null && issueSubBean.getRows() != null && issueSubBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(issueSubBean.getRows()); + } else { + mDatas.addAll(issueSubBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvItems.refreshComplete(); + if (mDatas.size() >= issueSubBean.getTotal()) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.refreshComplete(); + mRlvItems.setNoMore(true); + ToastUtils.showShort("暂无数据"); + //无数据 + } + } + } + + @Override + public void onError(Throwable e) { + ExceptionHandler.handleException(e); + if (mRlvItems != null) { + mRlvItems.refreshComplete(); + mRlvItems.loadMoreComplete(); + } + e.printStackTrace(); + } + + @Override + public void onComplete() { + + } + }); + } + + /** + * 已归档 + * 参数中的status=6获取的是已经归档的列表 + */ + private void getFinishList(int page) { + mCurPage = page; + RetrofitManager.getInstance() + .create(LocationApiService.class) + .getIssueFinishList("6", mRows, mCurPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(Disposable d) { + mDisFinish = d; + } + + @Override + public void onNext(IssueSubBean issueSubBean) { + if (issueSubBean != null && issueSubBean.getRows() != null && issueSubBean.getRows().size() > 0) { + ++mCurPage; + if (page == 1) { + mDatas.clear(); + mDatas.addAll(issueSubBean.getRows()); + } else { + mDatas.addAll(issueSubBean.getRows()); + } + mAdapter.notifyDataSetChanged(); + mRlvItems.refreshComplete(); + if (mDatas.size() >= issueSubBean.getTotal()) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(false); + } + } else { + if (page > 1) { + mRlvItems.loadMoreComplete(); + mRlvItems.setNoMore(true); + } else { + //无数据 + mRlvItems.refreshComplete(); + mRlvItems.setNoMore(true); + ToastUtils.showShort("暂无数据"); + } + } + } + + @Override + public void onError(Throwable e) { + ExceptionHandler.handleException(e); + mRlvItems.refreshComplete(); + mRlvItems.loadMoreComplete(); + e.printStackTrace(); + } + + @Override + public void onComplete() { + + } + }); + } + + private void refresh() { + if (!TextUtils.isEmpty(mTitle)) { + switch (mTitle) { + case "待检查": + mType = 4; + getDisposeList(1); + break; + case "已归档": + mType = 6; + getDisposeList(1); + break; + case "待处理": + default: + mType = 3; + getDisposeList(1); + break; + } + } + } + + private void loadMore() { + if (!TextUtils.isEmpty(mTitle)) { + switch (mTitle) { + case "待检查": + mType = 4; + getDisposeList(mCurPage); + break; + case "已归档": + mType = 6; + getDisposeList(mCurPage); + break; + case "待处理": + default: + mType = 3; + getDisposeList(mCurPage); + break; + } + } + } +} diff --git a/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java b/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java index 2e5acff..6957c78 100755 --- a/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java +++ b/app/src/main/java/com/sucstepsoft/realtimelocation/net/LocationApiService.java @@ -39,6 +39,7 @@ import com.sucstepsoft.realtimelocation.beans.person.CensusPersonBean; import com.sucstepsoft.realtimelocation.beans.person.CensusRearDetailBean; import com.sucstepsoft.realtimelocation.beans.person.CensusRegisterDetailBean; import com.sucstepsoft.realtimelocation.beans.person.CensusYoungDetailBean; +import com.sucstepsoft.realtimelocation.beans.person.CommunityListBean; import com.sucstepsoft.realtimelocation.beans.person.CorrectDetailBean; import com.sucstepsoft.realtimelocation.beans.person.DrugDetailBean; import com.sucstepsoft.realtimelocation.beans.person.HouseDetailBean; @@ -202,6 +203,14 @@ public interface LocationApiService { @GET("app/dict/listdictall/{dictParentId}") Observable> getDictListAll(@Path("dictParentId") String pId, @Header("token") String token); + /** + * 获取字典全部 + * 新 /list-bind-case-type-all/{dictParentId} + */ + @Headers({"base_url_name:dict"}) + @GET("app/dict/list-bind-case-type-all/{dictParentId}") + Observable> getDictListAllNew(@Path("dictParentId") String pId, @Header("token") String token); + /** * 获取字典 * @@ -1181,10 +1190,27 @@ public interface LocationApiService { @GET("app/aids/listpageaids") Observable getAidsList(@Query("page") String page, @Query("keywords") String keywords, @Header("token") String token); + /*===========================================基础信息===========================================*/ + /** + * 保存楼宇信息 + */ + @Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"}) + @POST("app/citybuilding/savecitybuilding") + Observable doSaveBuilding(@Body RequestBody body, @Header("token") String token); + + /** + * 获取小区列表 + * citydistrict/listcitydistrict + */ + + @Headers({"base_url_name:person", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/citydistrict/listpagecitydistrict") + Observable getCommunityList(@Query("page") String page, @Query("keywords") String keywords, @Header("token") String token); /*===========================================基础信息===========================================*/ + /** * 保存人员基础信息 */ diff --git a/app/src/main/res/drawable-xhdpi/ic_build_icon.png b/app/src/main/res/drawable-xhdpi/ic_build_icon.png new file mode 100644 index 0000000..d96362b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_build_icon.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_house_icon.png b/app/src/main/res/drawable-xhdpi/ic_house_icon.png new file mode 100644 index 0000000..3eed6a2 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_house_icon.png differ diff --git a/app/src/main/res/layout/activity_add_building.xml b/app/src/main/res/layout/activity_add_building.xml new file mode 100644 index 0000000..570191d --- /dev/null +++ b/app/src/main/res/layout/activity_add_building.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +