案件接口升级,案件流程添加

This commit is contained in:
高健 2021-07-21 08:43:25 +08:00
parent 105bbba858
commit ca3764f5de
60 changed files with 6726 additions and 238 deletions

45
.idea/jarRepositories.xml Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="https://jitpack.io" />
</remote-repository>
<remote-repository>
<option name="id" value="Google" />
<option name="name" value="Google" />
<option name="url" value="https://dl.google.com/dl/android/maven2/" />
</remote-repository>
<remote-repository>
<option name="id" value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository" />
<option name="name" value="$USER_HOME$/Library/Android/sdk/extras/android/m2repository" />
<option name="url" value="file:$USER_HOME$/Library/Android/sdk/extras/android/m2repository" />
</remote-repository>
<remote-repository>
<option name="id" value="$USER_HOME$/Library/Android/sdk/extras/m2repository" />
<option name="name" value="$USER_HOME$/Library/Android/sdk/extras/m2repository" />
<option name="url" value="file:$USER_HOME$/Library/Android/sdk/extras/m2repository" />
</remote-repository>
<remote-repository>
<option name="id" value="$USER_HOME$/Library/Android/sdk/extras/google/m2repository" />
<option name="name" value="$USER_HOME$/Library/Android/sdk/extras/google/m2repository" />
<option name="url" value="file:$USER_HOME$/Library/Android/sdk/extras/google/m2repository" />
</remote-repository>
</component>
</project>

BIN
app/release/yj-zs-10.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-11.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-12.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-13.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-14.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-15.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-16.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-17.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-5.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-6.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-7.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-8.apk Normal file

Binary file not shown.

BIN
app/release/yj-zs-9.apk Normal file

Binary file not shown.

View File

@ -47,6 +47,22 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity
android:name=".activitys.trouble.CaseLogActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".activitys.trouble.CaseCheckOptionsDetailActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".activitys.trouble.CaseCheckOptionsActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".activitys.trouble.TdTaskActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".activitys.mine.StatisticsActivity"
android:launchMode="singleTop"

View File

@ -48,6 +48,7 @@ import com.sucstepsoft.txrealtimelocation.activitys.plan.PlanActivity;
import com.sucstepsoft.txrealtimelocation.activitys.plan.PlanHistoryActivity;
import com.sucstepsoft.txrealtimelocation.activitys.plan.PlanListActivity;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.SelCompanyActivity;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.TdTaskActivity;
import com.sucstepsoft.txrealtimelocation.adapters.FunctionAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.FunctionNumAdapter;
import com.sucstepsoft.txrealtimelocation.beans.AppTokenUser;
@ -112,11 +113,13 @@ public class MainActivity extends BaseActivity {
private static final int GPS_REQUEST_CODE = 1234;
private Unbinder mBind;
private List<FuncBean> mFuncs = new ArrayList<>();
private String[] mBtnStrs = new String[]{"我的企业\n(新增企业)", "企业检查", "隐患复查", "我的任务", "公共区域", "法律法规", "企业地图", "钉钉"};
private String[] mBtnStrs = new String[]{"我的企业\n(新增企业)", "企业检查", "隐患复查", "待办任务", "固定任务", "随机任务", "公共区域", "法律法规", "企业地图", "钉钉"};
// private String[] mBtnStrs = new String[]{"企业信息", "隐患上报", "隐患复查", "我的任务", "历史任务", "法律法规"};
private int[] mBtnIds = new int[]{R.drawable.ic_main_c_info, R.drawable.ic_main_report, R.drawable.ic_main_risk,
R.drawable.ic_law,
R.drawable.ic_main_mine,
R.drawable.ic_main_history,
R.drawable.ic_main_history,
R.drawable.ic_main_law,
R.drawable.ic_main_risk,
R.drawable.ic_main_report};
@ -179,6 +182,7 @@ public class MainActivity extends BaseActivity {
} else {
UserLgUtils.setIndustryId("");
}
UserLgUtils.setPersonType(girdPBean.getPersonType());
}
@Override
@ -230,10 +234,13 @@ public class MainActivity extends BaseActivity {
case "隐患复查":
intent = new Intent(this, CounterCheckMainActivity.class);
break;
case "待办任务"://各类待办任务
intent = new Intent(this, TdTaskActivity.class);
break;
case "法律法规":
intent = new Intent(this, LawLibActivity.class);
break;
case "我的任务":
case "固定任务":
intent = new Intent(this, MineMissionActivity.class);
break;
case "历史任务":
@ -248,6 +255,9 @@ public class MainActivity extends BaseActivity {
case "钉钉":
intent = getPackageManager().getLaunchIntentForPackage("com.alibaba.android.rimet");
break;
case "随机任务":
intent = new Intent(this, MineMissionActivity.class);
break;
}
if (intent != null) {
startActivity(intent);

View File

@ -481,8 +481,8 @@ public class CounterCheckMainActivity extends BaseActivity {
private void showDetail(CounterCheckListBean.RowsBean bean) {
Intent intent = new Intent(mActivity, NewCounterCheckOptionsActivity.class);
intent.putExtra("checkId", bean.getCheckId());
intent.putExtra("name", bean.getNameJoinByEnterpriseId());
intent.putExtra("peo", bean.getMasterJoinByEnterpriseId());
intent.putExtra("name", bean.getEnterpriseName());
intent.putExtra("peo", bean.getEnterpriseMaster());
intent.putExtra("enId", bean.getEnterpriseId());
startActivityForResult(intent, 123);
}

View File

@ -53,6 +53,7 @@ import com.sucstepsoft.txrealtimelocation.beans.CounterCheckOptionsBean;
import com.sucstepsoft.txrealtimelocation.beans.OptionsSubmitBean;
import com.sucstepsoft.txrealtimelocation.beans.SuccessBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.utils.ExceptionHandler;
import com.sucstepsoft.txrealtimelocation.widget.EmStateCheck;
import java.io.File;
@ -926,7 +927,7 @@ public class NewCounterCheckOptionsActivity extends BaseActivity {
@Override
public void onError(Throwable e) {
ToastUtils.showShort("复查失败,请稍后重试");
ExceptionHandler.handleException(e);
mMProgressDialog.dismiss();
}

View File

@ -1,5 +1,6 @@
package com.sucstepsoft.txrealtimelocation.activitys.issue;
import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
@ -15,6 +16,7 @@ import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.CaseLogActivity;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryItemDetailAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryLeftCatalogAdapter;
import com.sucstepsoft.txrealtimelocation.beans.CompanyDetailBean;
@ -72,6 +74,13 @@ public class HistoryDetialActivity extends BaseActivity {
String enterpriseId = getIntent().getStringExtra("enterpriseId");
//让整改描述可以滑动
mTvContent.setMaxLineCount(3);
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("日志");
mTvPublish.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, CaseLogActivity.class);
intent.putExtra("cId", cId);
startActivity(intent);
});
getDetail(cId);
mCatalogBeans = new ArrayList<>();
getCompanyDetail(enterpriseId);
@ -113,6 +122,7 @@ public class HistoryDetialActivity extends BaseActivity {
@Override
public void onNext(CompanyDetailBean companyDetailBean) {
if (companyDetailBean != null) {
mTvName.setText(companyDetailBean.getName());
if (TextUtils.isEmpty(companyDetailBean.getLegalPerson())) {
if (TextUtils.isEmpty(companyDetailBean.getMaster())) {
mTvP.setText("未录入");
@ -153,7 +163,6 @@ public class HistoryDetialActivity extends BaseActivity {
public void onNext(HistoryDetialBean beans) {
if (beans != null) {
refreshView(STATE_LOAD_SUCCESS);
mTvName.setText(beans.getNameJoinByEnterpriseId());
if (!TextUtils.isEmpty(beans.getSummary())) {
mRlDesc.setVisibility(View.VISIBLE);
mTvContent.setContent(beans.getSummary());

View File

@ -195,20 +195,20 @@ public class HistoryListActivity extends BaseActivity {
}
private void showDetail(CounterCheckListBean.RowsBean rowsBean) {
if (rowsBean.getIsCoordination() == 0) {
//不配合
ToastUtils.showShort("该企业不配合检查,已由上级单位处理");
} else {
Intent intent = new Intent(mActivity, HistoryDetialActivity.class);
intent.putExtra("id", rowsBean.getIndustryJoinByEnterpriseId());
intent.putExtra("enterpriseId", rowsBean.getEnterpriseId());
intent.putExtra("cId", rowsBean.getCheckId());
intent.putExtra("name", rowsBean.getNameJoinByEnterpriseId());
intent.putExtra("peo", rowsBean.getMasterJoinByEnterpriseId());
intent.putExtra("phone", rowsBean.getPhoneJoinByEnterpriseId());
startActivity(intent);
}
// if (rowsBean.getIsCoordination() == 0) {
// //不配合
// ToastUtils.showShort("该企业不配合检查,已由上级单位处理");
// } else {
//
// }
Intent intent = new Intent(mActivity, HistoryDetialActivity.class);
intent.putExtra("id", rowsBean.getEnterpriseIndustry());
intent.putExtra("enterpriseId", rowsBean.getEnterpriseId());
intent.putExtra("cId", rowsBean.getCheckId());
intent.putExtra("name", rowsBean.getEnterpriseName());
intent.putExtra("peo", rowsBean.getEnterpriseMaster());
intent.putExtra("phone", rowsBean.getEnterprisePhone());
startActivity(intent);
}
/**

View File

@ -604,6 +604,7 @@ public class NewCheckOptionsActivity extends BaseActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
LogUtils.e(requestCode + "===" + resultCode);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case BaseUrlApi.CAMERA_REQUEST://相机

View File

@ -0,0 +1,823 @@
package com.sucstepsoft.txrealtimelocation.activitys.trouble;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.TextureView;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.gson.Gson;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.ButtomInputView;
import com.sucstepsoft.cm_utils.core.widget.views.CenterInputSelView;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryItemDetailAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryLeftCatalogAdapter;
import com.sucstepsoft.txrealtimelocation.beans.CaseCompleteBean;
import com.sucstepsoft.txrealtimelocation.beans.CaseDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.CompanyDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryCatalogBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryDetialBean;
import com.sucstepsoft.txrealtimelocation.beans.SuccessBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.utils.ExceptionHandler;
import com.sucstepsoft.txrealtimelocation.widget.StretchyTextView;
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;
import okhttp3.MediaType;
import okhttp3.RequestBody;
public class CaseCheckOptionsActivity extends BaseActivity {
public static final String GRID_GRID = "grid";//网格员
public static final String GRID_STREET = "street";//乡镇街道管理员
public static final String GRID_DISTRICT = "district";//旗县区管理员
public static final String GRID_DISTRICT_DEPARTMENT = "districtDepartment";//旗县区委办局管理员
public static final String GRID_CITY = "city";//市管理员
@BindView(R.id.rlv_detail)
RecyclerView mRlvDetail;
@BindView(R.id.rlv_catalog)
RecyclerView mRlvCataLog;
@BindView(R.id.tv_name)
TextView mTvName;
@BindView(R.id.tv_peo)
TextView mTvP;
@BindView(R.id.tv_phone)
TextView mTvPhone;
@BindView(R.id.tv_content)
StretchyTextView mTvContent;
@BindView(R.id.rl_desc)
RelativeLayout mRlDesc;
@BindView(R.id.btn_superior)
Button mBtnSuperior;
@BindView(R.id.btn_complete)
Button mBtnComplete;
@BindView(R.id.btn_go_back)
Button mBtnGoBack;
private Unbinder mBind;
private List<HistoryCatalogBean.ItemBean> mRightDatas = new ArrayList<>();
private Disposable mDis;
private List<HistoryCatalogBean> mCatalogBeans;
private HistoryLeftCatalogAdapter mLeftCatalogAdapter;
private HistoryItemDetailAdapter mRightAdapter;
private String mCId;
private String mPersonType;
@Override
protected int setLayoutId() {
return R.layout.activity_case_check_options;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("详情");
refreshView(STATE_LOAD_LOADING);
mCId = getIntent().getStringExtra("checkId");
String enterpriseId = getIntent().getStringExtra("enId");
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("日志");
mTvPublish.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, CaseLogActivity.class);
intent.putExtra("cId", mCId);
startActivity(intent);
});
//让整改描述可以滑动
mTvContent.setMaxLineCount(3);
getDetail(mCId);
mCatalogBeans = new ArrayList<>();
getCompanyDetail(enterpriseId);
LinearLayoutManager leftManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);
LinearLayoutManager rightManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);
mLeftCatalogAdapter = new HistoryLeftCatalogAdapter(mActivity, mCatalogBeans);
mRightAdapter = new HistoryItemDetailAdapter(mActivity, mRightDatas);
mRlvDetail.setLayoutManager(rightManager);
mRlvCataLog.setLayoutManager(leftManager);
mRlvDetail.setAdapter(mRightAdapter);
mRlvCataLog.setAdapter(mLeftCatalogAdapter);
mLeftCatalogAdapter.addNotifyChildChangeListener(child -> {
if (child != null && child.size() > 0) {
mRightDatas = child;
mRightAdapter.setData(mRightDatas);
} else {
LogUtils.e("暂无数据");
}
});
mPersonType = UserLgUtils.getPersonType();
switch (mPersonType) {
case GRID_STREET://街道
mBtnComplete.setVisibility(View.VISIBLE);
mBtnSuperior.setVisibility(View.VISIBLE);
mBtnGoBack.setVisibility(View.GONE);
break;
case GRID_DISTRICT://旗县区
mBtnComplete.setVisibility(View.VISIBLE);
mBtnSuperior.setVisibility(View.VISIBLE);
mBtnGoBack.setVisibility(View.VISIBLE);
break;
case GRID_DISTRICT_DEPARTMENT://旗县区委办局
case GRID_CITY://
mBtnComplete.setVisibility(View.VISIBLE);
mBtnSuperior.setVisibility(View.GONE);
mBtnGoBack.setVisibility(View.VISIBLE);
break;
}
//完成
mBtnComplete.setOnClickListener(v -> showInputDialog("处理完成", 2));
//上级
mBtnSuperior.setOnClickListener(v -> {
switch (mPersonType) {
case GRID_STREET://街道
showSelDialog();
break;
case GRID_DISTRICT://旗县区
showInputDialog("上报领导", 3);
break;
}
});
//回退
mBtnGoBack.setOnClickListener(v -> showInputDialog("任务回退", 1));
}
private void getCompanyDetail(String companyId) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getCompanyDetail(companyId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CompanyDetailBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(CompanyDetailBean companyDetailBean) {
if (companyDetailBean != null) {
if (TextUtils.isEmpty(companyDetailBean.getPhone())) {
mTvPhone.setText("未录入");
} else {
mTvPhone.setText(companyDetailBean.getPhone());
}
mTvName.setText(companyDetailBean.getName());
if (TextUtils.isEmpty(companyDetailBean.getLegalPerson())) {
if (TextUtils.isEmpty(companyDetailBean.getMaster())) {
mTvP.setText("未录入");
} else {
mTvP.setText(companyDetailBean.getMaster());
}
} else {
mTvP.setText(companyDetailBean.getLegalPerson());
}
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
private void getDetail(String cid) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineCaseDetailById(cid, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseDetailBean>() {
@Override
public void onSubscribe(Disposable d) {
mDis = d;
}
@Override
public void onNext(CaseDetailBean beans) {
if (beans != null) {
refreshView(STATE_LOAD_SUCCESS);
if (!TextUtils.isEmpty(beans.getSummary())) {
mRlDesc.setVisibility(View.VISIBLE);
mTvContent.setContent(beans.getSummary());
} else {
mRlDesc.setVisibility(View.GONE);
}
if (beans.getCheckItems() != null && beans.getCheckItems().size() > 0) {
mRlvCataLog.setVisibility(View.VISIBLE);
buildDetailListData(beans.getCheckItems());
} else {
ToastUtils.showShort("本次检查不存在合格项");
mRlvCataLog.setVisibility(View.GONE);
}
} else {
refreshView(STATE_LOAD_EMPTY);
}
}
@Override
public void onError(Throwable e) {
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onComplete() {
}
});
}
/**
* 带目录
*
* @param checkItems
*/
private void buildDetailListData(List<CaseDetailBean.CheckItemsBean> checkItems) {
//遍历判断是否是目录
for (int i = 0; i < checkItems.size(); i++) {
if (checkItems.get(i).getCheckItemParentId().equals("0")) {
HistoryCatalogBean bean = new HistoryCatalogBean();
bean.setTitle(checkItems.get(i).getName());
bean.setItemId(checkItems.get(i).getCheckItemId());
bean.setpId(checkItems.get(i).getCheckItemParentId());
bean.setIcon(checkItems.get(i).getIcon());
bean.setSelIcon(checkItems.get(i).getIconPress());
bean.setTypeByCheckItemId(checkItems.get(i).getType());
mCatalogBeans.add(bean);
}
}
for (int i = 0; i < mCatalogBeans.size(); i++) {
HistoryCatalogBean cBean = mCatalogBeans.get(i);
List<HistoryCatalogBean.ItemBean> items = new ArrayList<>();
boolean isCheck = false;
for (int j = 0; j < checkItems.size(); j++) {
if (cBean.getItemId().equals(checkItems.get(j).getCheckItemParentId())) {
HistoryCatalogBean.ItemBean itemBean = new HistoryCatalogBean.ItemBean();
itemBean.setName(checkItems.get(j).getName());
itemBean.setCheckItemId(checkItems.get(j).getCheckItemId());
itemBean.setScenePhotos(checkItems.get(j).getScenePhotos());
List<HistoryCatalogBean.ItemBeanChild> childs = new ArrayList<>();
for (int k = 0; k < checkItems.get(j).getHiddenDangerReports().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = new HistoryCatalogBean.ItemBeanChild();
CaseDetailBean.CheckItemsBean.HiddenDangerReportsBean hiddenDangerReportsBean = checkItems.get(j).getHiddenDangerReports().get(k);
child.setScenePhotos(hiddenDangerReportsBean.getScenePhotos());
child.setCheckResult(hiddenDangerReportsBean.getCheckResult());
child.setUnitJoinByCheckItemId(hiddenDangerReportsBean.getUnitJoinByCheckItemId());
child.setNameJoinByCheckItemId(hiddenDangerReportsBean.getNameJoinByCheckItemId());
child.setCheckItemType(hiddenDangerReportsBean.getCheckItemType());
child.setIsWrongJoinByCheckItemId(hiddenDangerReportsBean.getIsWrongJoinByCheckItemId());
childs.add(child);
}
itemBean.setChild(childs);
items.add(itemBean);
} else if (cBean.getpId().equals("0") && cBean.getTypeByCheckItemId() == 2 && cBean.getItemId().equals(checkItems.get(j).getCheckItemId())) {
HistoryCatalogBean.ItemBean itemBean = new HistoryCatalogBean.ItemBean();
itemBean.setName(checkItems.get(j).getName());
itemBean.setCheckItemId(checkItems.get(j).getCheckItemId());
itemBean.setScenePhotos(checkItems.get(j).getScenePhotos());
List<HistoryCatalogBean.ItemBeanChild> childs = new ArrayList<>();
for (int k = 0; k < checkItems.get(j).getHiddenDangerReports().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = new HistoryCatalogBean.ItemBeanChild();
CaseDetailBean.CheckItemsBean.HiddenDangerReportsBean hiddenDangerReportsBean = checkItems.get(j).getHiddenDangerReports().get(k);
child.setScenePhotos(hiddenDangerReportsBean.getScenePhotos());
child.setCheckResult(hiddenDangerReportsBean.getCheckResult());
child.setUnitJoinByCheckItemId(hiddenDangerReportsBean.getUnitJoinByCheckItemId());
child.setNameJoinByCheckItemId(hiddenDangerReportsBean.getNameJoinByCheckItemId());
child.setIsWrongJoinByCheckItemId(hiddenDangerReportsBean.getIsWrongJoinByCheckItemId());
child.setCheckItemType(hiddenDangerReportsBean.getCheckItemType());
childs.add(child);
}
itemBean.setChild(childs);
items.add(itemBean);
} else {
}
}
for (int j = 0; j < items.size(); j++) {
HistoryCatalogBean.ItemBean itemBean = items.get(j);
for (int k = 0; k < itemBean.getChild().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = itemBean.getChild().get(k);
if (child.getIsWrongJoinByCheckItemId() == 1) {
isCheck = true;
break;
}
}
}
cBean.setCheck(isCheck);
cBean.setOptions(items);
}
mRightDatas = mCatalogBeans.get(0).getOptions();
mRightAdapter.setData(mRightDatas);
mLeftCatalogAdapter.setData(mCatalogBeans);
}
/**
* 显示输入框dialog
* 1 回退
* 2 完成
* 3 领导
*/
private void showInputDialog(String title, int type) {
ButtomInputView inputView = new ButtomInputView.DialogBuilder(mActivity).build();
inputView.addOnChoseListener(() -> {
String desc = inputView.mEtText.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.showShort("请输入描述");
} else {
inputView.dismiss();
switch (mPersonType) {
case GRID_STREET://街道
doComplete(desc);
break;
case GRID_DISTRICT://旗县区
if (type == 1) {
doBackDistrict(desc);
} else if (type == 2) {
doCompleteDistrict(desc);
} else if (type == 3) {
doDistrictLeader(desc);
}
break;
case GRID_DISTRICT_DEPARTMENT://旗县区委办局
if (type == 1) {
doBackDistrictDepartment(desc);
} else if (type == 2) {
doCompleteDistrictDepartment(desc);
}
break;
case GRID_CITY://
if (type == 1) {
doBackCity(desc);
} else if (type == 2) {
doCompleteCity(desc);
}
break;
}
}
});
inputView.show();
inputView.setTitle(title);
}
/**
* 旗县区上报领导
*/
private void doDistrictLeader(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseToLeader(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区完成
*/
private void doCompleteDistrict(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区回退
*/
private void doBackDistrict(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 显示上级处理dialog
*/
private void showSelDialog() {
CenterInputSelView selView = new CenterInputSelView.DialogBuilder(mActivity).build();
selView.addOnChoseListener(() -> {
if (TextUtils.isEmpty(selView.mSelType)) {
ToastUtils.showShort("请选择处理领导");
return;
}
//判断是否是旗县区领导
if ("district".equals(selView.mSelType) && TextUtils.isEmpty(selView.mSelPersonId)) {
ToastUtils.showShort("请选择处理人员");
return;
}
String desc = selView.mEtText.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.showShort("请输入描述信息");
return;
}
selView.dismiss();
doSuperiorDispose(selView.mSelType, selView.mSelPersonId, desc);
});
selView.show();
selView.setTitle("上级处理");
}
/**
* 街道上级处理
*/
private void doSuperiorDispose(String type, String pId, String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
bea.setLeaderType(type);
if ("district".equals(type)) {
bea.setLeaderId(pId);
}
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doSuperiorCaseStreet(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区委办局回退
*/
private void doBackDistrictDepartment(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictDepartmentCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 市回退
*/
private void doBackCity(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCityCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 市完成
*/
private void doCompleteCity(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCityCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区委办局
*/
private void doCompleteDistrictDepartment(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictDepartmentCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 街道提交处理完成
*
* @param desc
*/
private void doComplete(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCompleteCaseStreet(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mDis != null && !mDis.isDisposed()) {
mDis.dispose();
}
mBind.unbind();
}
}

View File

@ -0,0 +1,811 @@
package com.sucstepsoft.txrealtimelocation.activitys.trouble;
import android.app.ProgressDialog;
import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.google.gson.Gson;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.views.ButtomInputView;
import com.sucstepsoft.cm_utils.core.widget.views.CenterInputSelView;
import com.sucstepsoft.cm_utils.utils.LogUtils;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryItemDetailAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.HistoryLeftCatalogAdapter;
import com.sucstepsoft.txrealtimelocation.beans.CaseCompleteBean;
import com.sucstepsoft.txrealtimelocation.beans.CaseDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.CompanyDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryCatalogBean;
import com.sucstepsoft.txrealtimelocation.beans.SuccessBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.utils.ExceptionHandler;
import com.sucstepsoft.txrealtimelocation.widget.StretchyTextView;
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;
import okhttp3.MediaType;
import okhttp3.RequestBody;
public class CaseCheckOptionsDetailActivity extends BaseActivity {
public static final String GRID_GRID = "grid";//网格员
public static final String GRID_STREET = "street";//乡镇街道管理员
public static final String GRID_DISTRICT = "district";//旗县区管理员
public static final String GRID_DISTRICT_DEPARTMENT = "districtDepartment";//旗县区委办局管理员
public static final String GRID_CITY = "city";//市管理员
@BindView(R.id.rlv_detail)
RecyclerView mRlvDetail;
@BindView(R.id.rlv_catalog)
RecyclerView mRlvCataLog;
@BindView(R.id.tv_name)
TextView mTvName;
@BindView(R.id.tv_peo)
TextView mTvP;
@BindView(R.id.tv_phone)
TextView mTvPhone;
private Unbinder mBind;
private List<HistoryCatalogBean.ItemBean> mRightDatas = new ArrayList<>();
private Disposable mDis;
private List<HistoryCatalogBean> mCatalogBeans;
private HistoryLeftCatalogAdapter mLeftCatalogAdapter;
private HistoryItemDetailAdapter mRightAdapter;
private String mCId;
private String mPersonType;
@Override
protected int setLayoutId() {
return R.layout.activity_case_check_options_detail;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("详情");
refreshView(STATE_LOAD_LOADING);
mCId = getIntent().getStringExtra("checkId");
String enterpriseId = getIntent().getStringExtra("enId");
mTvPublish.setVisibility(View.VISIBLE);
mTvPublish.setText("日志");
mTvPublish.setOnClickListener(v -> {
Intent intent = new Intent(mActivity, CaseLogActivity.class);
intent.putExtra("cId", mCId);
startActivity(intent);
});
//让整改描述可以滑动
// mTvContent.setMaxLineCount(3);
getDetail(mCId);
mCatalogBeans = new ArrayList<>();
getCompanyDetail(enterpriseId);
LinearLayoutManager leftManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);
LinearLayoutManager rightManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);
mLeftCatalogAdapter = new HistoryLeftCatalogAdapter(mActivity, mCatalogBeans);
mRightAdapter = new HistoryItemDetailAdapter(mActivity, mRightDatas);
mRlvDetail.setLayoutManager(rightManager);
mRlvCataLog.setLayoutManager(leftManager);
mRlvDetail.setAdapter(mRightAdapter);
mRlvCataLog.setAdapter(mLeftCatalogAdapter);
mLeftCatalogAdapter.addNotifyChildChangeListener(child -> {
if (child != null && child.size() > 0) {
mRightDatas = child;
mRightAdapter.setData(mRightDatas);
} else {
LogUtils.e("暂无数据");
}
});
mPersonType = UserLgUtils.getPersonType();
// switch (mPersonType) {
// case GRID_STREET://街道
// mBtnComplete.setVisibility(View.VISIBLE);
// mBtnSuperior.setVisibility(View.VISIBLE);
// mBtnGoBack.setVisibility(View.GONE);
// break;
// case GRID_DISTRICT://旗县区
// mBtnComplete.setVisibility(View.VISIBLE);
// mBtnSuperior.setVisibility(View.VISIBLE);
// mBtnGoBack.setVisibility(View.VISIBLE);
// break;
// case GRID_DISTRICT_DEPARTMENT://旗县区委办局
// case GRID_CITY://
// mBtnComplete.setVisibility(View.VISIBLE);
// mBtnSuperior.setVisibility(View.GONE);
// mBtnGoBack.setVisibility(View.VISIBLE);
// break;
// }
// //完成
// mBtnComplete.setOnClickListener(v -> showInputDialog("处理完成", 2));
// //上级
// mBtnSuperior.setOnClickListener(v -> {
// switch (mPersonType) {
// case GRID_STREET://街道
// showSelDialog();
// break;
// case GRID_DISTRICT://旗县区
// showInputDialog("上报领导", 3);
// break;
// }
// });
// //回退
// mBtnGoBack.setOnClickListener(v -> showInputDialog("任务回退", 1));
}
private void getCompanyDetail(String companyId) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getCompanyDetail(companyId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CompanyDetailBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(CompanyDetailBean companyDetailBean) {
if (companyDetailBean != null) {
if (TextUtils.isEmpty(companyDetailBean.getPhone())) {
mTvPhone.setText("未录入");
} else {
mTvPhone.setText(companyDetailBean.getPhone());
}
mTvName.setText(companyDetailBean.getName());
if (TextUtils.isEmpty(companyDetailBean.getLegalPerson())) {
if (TextUtils.isEmpty(companyDetailBean.getMaster())) {
mTvP.setText("未录入");
} else {
mTvP.setText(companyDetailBean.getMaster());
}
} else {
mTvP.setText(companyDetailBean.getLegalPerson());
}
}
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
});
}
private void getDetail(String cid) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineCaseDetailById(cid, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseDetailBean>() {
@Override
public void onSubscribe(Disposable d) {
mDis = d;
}
@Override
public void onNext(CaseDetailBean beans) {
if (beans != null) {
refreshView(STATE_LOAD_SUCCESS);
// if (!TextUtils.isEmpty(beans.getSummary())) {
// mRlDesc.setVisibility(View.VISIBLE);
//// mTvContent.setContent(beans.getSummary());
// } else {
// mRlDesc.setVisibility(View.GONE);
// }
if (beans.getCheckItems() != null && beans.getCheckItems().size() > 0) {
mRlvCataLog.setVisibility(View.VISIBLE);
buildDetailListData(beans.getCheckItems());
} else {
ToastUtils.showShort("本次检查不存在合格项");
mRlvCataLog.setVisibility(View.GONE);
}
} else {
refreshView(STATE_LOAD_EMPTY);
}
}
@Override
public void onError(Throwable e) {
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onComplete() {
}
});
}
/**
* 带目录
*
* @param checkItems
*/
private void buildDetailListData(List<CaseDetailBean.CheckItemsBean> checkItems) {
//遍历判断是否是目录
for (int i = 0; i < checkItems.size(); i++) {
if (checkItems.get(i).getCheckItemParentId().equals("0")) {
HistoryCatalogBean bean = new HistoryCatalogBean();
bean.setTitle(checkItems.get(i).getName());
bean.setItemId(checkItems.get(i).getCheckItemId());
bean.setpId(checkItems.get(i).getCheckItemParentId());
bean.setIcon(checkItems.get(i).getIcon());
bean.setSelIcon(checkItems.get(i).getIconPress());
bean.setTypeByCheckItemId(checkItems.get(i).getType());
mCatalogBeans.add(bean);
}
}
for (int i = 0; i < mCatalogBeans.size(); i++) {
HistoryCatalogBean cBean = mCatalogBeans.get(i);
List<HistoryCatalogBean.ItemBean> items = new ArrayList<>();
boolean isCheck = false;
for (int j = 0; j < checkItems.size(); j++) {
if (cBean.getItemId().equals(checkItems.get(j).getCheckItemParentId())) {
HistoryCatalogBean.ItemBean itemBean = new HistoryCatalogBean.ItemBean();
itemBean.setName(checkItems.get(j).getName());
itemBean.setCheckItemId(checkItems.get(j).getCheckItemId());
itemBean.setScenePhotos(checkItems.get(j).getScenePhotos());
List<HistoryCatalogBean.ItemBeanChild> childs = new ArrayList<>();
for (int k = 0; k < checkItems.get(j).getHiddenDangerReports().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = new HistoryCatalogBean.ItemBeanChild();
CaseDetailBean.CheckItemsBean.HiddenDangerReportsBean hiddenDangerReportsBean = checkItems.get(j).getHiddenDangerReports().get(k);
child.setScenePhotos(hiddenDangerReportsBean.getScenePhotos());
child.setCheckResult(hiddenDangerReportsBean.getCheckResult());
child.setUnitJoinByCheckItemId(hiddenDangerReportsBean.getUnitJoinByCheckItemId());
child.setNameJoinByCheckItemId(hiddenDangerReportsBean.getNameJoinByCheckItemId());
child.setCheckItemType(hiddenDangerReportsBean.getCheckItemType());
child.setIsWrongJoinByCheckItemId(hiddenDangerReportsBean.getIsWrongJoinByCheckItemId());
childs.add(child);
}
itemBean.setChild(childs);
items.add(itemBean);
} else if (cBean.getpId().equals("0") && cBean.getTypeByCheckItemId() == 2 && cBean.getItemId().equals(checkItems.get(j).getCheckItemId())) {
HistoryCatalogBean.ItemBean itemBean = new HistoryCatalogBean.ItemBean();
itemBean.setName(checkItems.get(j).getName());
itemBean.setCheckItemId(checkItems.get(j).getCheckItemId());
itemBean.setScenePhotos(checkItems.get(j).getScenePhotos());
List<HistoryCatalogBean.ItemBeanChild> childs = new ArrayList<>();
for (int k = 0; k < checkItems.get(j).getHiddenDangerReports().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = new HistoryCatalogBean.ItemBeanChild();
CaseDetailBean.CheckItemsBean.HiddenDangerReportsBean hiddenDangerReportsBean = checkItems.get(j).getHiddenDangerReports().get(k);
child.setScenePhotos(hiddenDangerReportsBean.getScenePhotos());
child.setCheckResult(hiddenDangerReportsBean.getCheckResult());
child.setUnitJoinByCheckItemId(hiddenDangerReportsBean.getUnitJoinByCheckItemId());
child.setNameJoinByCheckItemId(hiddenDangerReportsBean.getNameJoinByCheckItemId());
child.setIsWrongJoinByCheckItemId(hiddenDangerReportsBean.getIsWrongJoinByCheckItemId());
child.setCheckItemType(hiddenDangerReportsBean.getCheckItemType());
childs.add(child);
}
itemBean.setChild(childs);
items.add(itemBean);
} else {
}
}
for (int j = 0; j < items.size(); j++) {
HistoryCatalogBean.ItemBean itemBean = items.get(j);
for (int k = 0; k < itemBean.getChild().size(); k++) {
HistoryCatalogBean.ItemBeanChild child = itemBean.getChild().get(k);
if (child.getIsWrongJoinByCheckItemId() == 1) {
isCheck = true;
break;
}
}
}
cBean.setCheck(isCheck);
cBean.setOptions(items);
}
mRightDatas = mCatalogBeans.get(0).getOptions();
mRightAdapter.setData(mRightDatas);
mLeftCatalogAdapter.setData(mCatalogBeans);
}
/**
* 显示输入框dialog
* 1 回退
* 2 完成
* 3 领导
*/
private void showInputDialog(String title, int type) {
ButtomInputView inputView = new ButtomInputView.DialogBuilder(mActivity).build();
inputView.addOnChoseListener(() -> {
String desc = inputView.mEtText.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.showShort("请输入描述");
} else {
inputView.dismiss();
switch (mPersonType) {
case GRID_STREET://街道
doComplete(desc);
break;
case GRID_DISTRICT://旗县区
if (type == 1) {
doBackDistrict(desc);
} else if (type == 2) {
doCompleteDistrict(desc);
} else if (type == 3) {
doDistrictLeader(desc);
}
break;
case GRID_DISTRICT_DEPARTMENT://旗县区委办局
if (type == 1) {
doBackDistrictDepartment(desc);
} else if (type == 2) {
doCompleteDistrictDepartment(desc);
}
break;
case GRID_CITY://
if (type == 1) {
doBackCity(desc);
} else if (type == 2) {
doCompleteCity(desc);
}
break;
}
}
});
inputView.show();
inputView.setTitle(title);
}
/**
* 旗县区上报领导
*/
private void doDistrictLeader(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseToLeader(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区完成
*/
private void doCompleteDistrict(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区回退
*/
private void doBackDistrict(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 显示上级处理dialog
*/
private void showSelDialog() {
CenterInputSelView selView = new CenterInputSelView.DialogBuilder(mActivity).build();
selView.addOnChoseListener(() -> {
if (TextUtils.isEmpty(selView.mSelType)) {
ToastUtils.showShort("请选择处理领导");
return;
}
//判断是否是旗县区领导
if ("district".equals(selView.mSelType) && TextUtils.isEmpty(selView.mSelPersonId)) {
ToastUtils.showShort("请选择处理人员");
return;
}
String desc = selView.mEtText.getText().toString().trim();
if (TextUtils.isEmpty(desc)) {
ToastUtils.showShort("请输入描述信息");
return;
}
selView.dismiss();
doSuperiorDispose(selView.mSelType, selView.mSelPersonId, desc);
});
selView.show();
selView.setTitle("上级处理");
}
/**
* 街道上级处理
*/
private void doSuperiorDispose(String type, String pId, String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
bea.setLeaderType(type);
if ("district".equals(type)) {
bea.setLeaderId(pId);
}
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doSuperiorCaseStreet(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区委办局回退
*/
private void doBackDistrictDepartment(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictDepartmentCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 市回退
*/
private void doBackCity(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCityCaseBack(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 市完成
*/
private void doCompleteCity(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCityCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 旗县区委办局
*/
private void doCompleteDistrictDepartment(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doDistrictDepartmentCaseComplete(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
/**
* 街道提交处理完成
*
* @param desc
*/
private void doComplete(String desc) {
ProgressDialog dialog = UIUtil.initDialog(mActivity, "提交中...");
dialog.show();
CaseCompleteBean bea = new CaseCompleteBean();
bea.setSummary(desc);
Gson gson = new Gson();
String obj = gson.toJson(bea);
RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj);
RetrofitManager.getInstance()
.create(LocationApiService.class)
.doCompleteCaseStreet(body, mCId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<SuccessBean>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(SuccessBean successBean) {
dialog.dismiss();
ToastUtils.showShort("处理完成");
setResult(223);
finish();
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ExceptionHandler.handleException(e);
}
@Override
public void onComplete() {
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mDis != null && !mDis.isDisposed()) {
mDis.dispose();
}
mBind.unbind();
}
}

View File

@ -0,0 +1,92 @@
package com.sucstepsoft.txrealtimelocation.activitys.trouble;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.CaseLogAdapter;
import com.sucstepsoft.txrealtimelocation.beans.LogListBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.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;
//日志
public class CaseLogActivity extends BaseActivity {
@BindView(R.id.rlv_content)
RecyclerView mRlvLog;
private Unbinder mBind;
private String mCId;
private CaseLogAdapter mAdapter;
private List<LogListBean> mDatas = new ArrayList<>();
@Override
protected int setLayoutId() {
return R.layout.activity_case_log;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
mTvBaseTitle.setText("日志");
mCId = getIntent().getStringExtra("cId");
mAdapter = new CaseLogAdapter(mActivity, mDatas);
mRlvLog.setLayoutManager(new LinearLayoutManager(mActivity));
mRlvLog.setAdapter(mAdapter);
getLogList(mCId);
}
/**
* 获取 日志
*
* @param cId
*/
private void getLogList(String cId) {
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getCaseLogList(cId, UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<LogListBean>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<LogListBean> logListBeans) {
if (logListBeans != null && logListBeans.size() > 0) {
mDatas = logListBeans;
mAdapter.setData(mDatas);
refreshView(STATE_LOAD_SUCCESS);
} else {
refreshView(STATE_LOAD_EMPTY);
}
}
@Override
public void onError(Throwable e) {
ExceptionHandler.handleException(e);
refreshView(STATE_LOAD_ERROR);
}
@Override
public void onComplete() {
}
});
}
}

View File

@ -0,0 +1,102 @@
package com.sucstepsoft.txrealtimelocation.activitys.trouble;
import android.os.Bundle;
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 com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.widget.base.BaseActivity;
import com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.issue.IssueRecordActivity;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.fragments.issue.CaseListFragment;
import com.sucstepsoft.txrealtimelocation.fragments.issue.CaseListHistoryFragment;
import com.sucstepsoft.txrealtimelocation.fragments.issue.PendingFragment;
import com.sucstepsoft.txrealtimelocation.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 TdTaskActivity extends BaseActivity {
@BindView(R.id.xtl_tabs)
XTabLayout mTablayout;
@BindView(R.id.vp_content)
ViewPager mVpContent;
private String[] mTitles = new String[]{"待办任务", "已处理任务"};
private List<Fragment> mFragments = new ArrayList<>();
private Unbinder mBind;
@Override
protected int setLayoutId() {
return R.layout.activity_td_task;
}
@Override
public void initData() {
mBind = ButterKnife.bind(this);
refreshView(STATE_LOAD_SUCCESS);
mTvBaseTitle.setText("待办任务");
CaseListFragment fragment = new CaseListFragment();
mFragments.add(fragment);
CaseListHistoryFragment fragment1 = new CaseListHistoryFragment();
mFragments.add(fragment1);
VpRecordAdapter adapter = new VpRecordAdapter(getSupportFragmentManager());
mVpContent.setAdapter(adapter);
mTablayout.setxTabDisplayNum(2);
mTablayout.setupWithViewPager(mVpContent);
}
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();
}
}

View File

@ -0,0 +1,51 @@
package com.sucstepsoft.txrealtimelocation.adapters;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.adapters.holders.CaseListHolder;
import com.sucstepsoft.txrealtimelocation.adapters.holders.CompanyCheckHolder;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.beans.CompanyListDataBean;
import java.util.List;
/**
* 作者: adam
* 日期: 2020/3/30 - 12:35 PM
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseListAdapter extends BaseRecyclerAdapter<CaseListBean.RowsBean, CaseListHolder> {
private int mCheckIndex = 0;
private String mCheckId = "";
private boolean onBind;
public CaseListAdapter(Context ctx, List<CaseListBean.RowsBean> list) {
super(ctx, list);
}
@Override
public CaseListHolder createHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(mContext).inflate(R.layout.item_company_check, parent, false);
return new CaseListHolder(itemView);
}
@Override
public void bindHolder(CaseListHolder holder, int i) {
CaseListBean.RowsBean bean = mData.get(i);
holder.mTvName.setText(bean.getEnterpriseName());
holder.mTvPeo.setText(bean.getEnterpriseMaster());
String address = bean.getEnterpriseArea1Name() + bean.getEnterpriseArea2Name() + bean.getEnterpriseArea3Name() + bean.getEnterpriseArea4Name() + bean.getEnterpriseArea5Name();
holder.mTvAddress.setText(address);
}
public String getSelDataId() {
return mCheckId;
}
}

View File

@ -0,0 +1,67 @@
package com.sucstepsoft.txrealtimelocation.adapters;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.support.v7.widget.GridLayoutManager;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.sucstepsoft.cm_utils.core.retrofit_net.BaseUrlApi;
import com.sucstepsoft.cm_utils.core.widget.base.BaseRecyclerAdapter;
import com.sucstepsoft.cm_utils.core.widget.base.BaseShowPhotoAdapter;
import com.sucstepsoft.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.common.PhotoActivity;
import com.sucstepsoft.txrealtimelocation.adapters.holders.CaseLogHolder;
import com.sucstepsoft.txrealtimelocation.adapters.holders.IssueStepHolder;
import com.sucstepsoft.txrealtimelocation.beans.CaseFlowBean;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.beans.LogListBean;
import java.util.ArrayList;
import java.util.List;
/**
* 作者: Adam
* 日期: 2019/8/6 - 14:10
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseLogAdapter extends BaseRecyclerAdapter<LogListBean, CaseLogHolder> {
public CaseLogAdapter(Context ctx, List<LogListBean> list) {
super(ctx, list);
}
@Override
public CaseLogHolder createHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.item_case_log, parent, false);
return new CaseLogHolder(view);
}
@Override
public void bindHolder(CaseLogHolder holder, int i) {
LogListBean bean = mData.get(i);
holder.mTvTime.setText(bean.getTime());
holder.mTvDesc.setText(bean.getDescription());
holder.mTvStartTime.setText(bean.getStartTime());
holder.mTvEndTime.setText(bean.getEndTime());
holder.mTvHandleTime.setText(bean.getHandleDuration());
holder.mTvHandleUser.setText(bean.getHandlerUserName());
holder.mTvHandlePhone.setText(bean.getHandlerUserPhone());
if (!TextUtils.isEmpty(bean.getSummary())) {
holder.mLlExplain.setVisibility(View.VISIBLE);
holder.mTvHandleSummary.setText(bean.getSummary());
} else {
holder.mLlExplain.setVisibility(View.GONE);
}
if (TextUtils.isEmpty(bean.getEndTime())) {
holder.mTvHandleStatus.setText("[正在处理]");
} else {
holder.mTvHandleStatus.setText("[处理完成]");
}
}
}

View File

@ -32,13 +32,13 @@ public class CounterCheckListAdapter extends BaseRecyclerAdapter<CounterCheckLis
@Override
public void bindHolder(CounterCheckListHolder holder, int i) {
if (TextUtils.isEmpty(mData.get(i).getAddressJoinByEnterpriseId())) {
holder.mTvAddress.setText("地址:未录入");
if (TextUtils.isEmpty(mData.get(i).getEnterpriseAddress())) {
holder.mTvAddress.setText("未录入");
} else {
holder.mTvAddress.setText("地址:" + mData.get(i).getAddressJoinByEnterpriseId());
holder.mTvAddress.setText(mData.get(i).getEnterpriseAddress());
}
holder.mTvName.setText(mData.get(i).getNameJoinByEnterpriseId());
holder.mTvName.setText(mData.get(i).getEnterpriseName());
// holder.mTvPeo.setText("法人:" + mData.get(i).getMasterJoinByEnterpriseId());
}
}

View File

@ -32,16 +32,16 @@ public class HistoryMissionAdapter extends BaseRecyclerAdapter<CounterCheckListB
@Override
public void bindHolder(HistroyHolder holder, int i) {
CounterCheckListBean.RowsBean bean = mData.get(i);
holder.mTvName.setText(bean.getNameJoinByEnterpriseId());
holder.mTvAddress.setText(bean.getAddressJoinByEnterpriseId());
holder.mTvName.setText(bean.getEnterpriseName());
holder.mTvAddress.setText(bean.getEnterpriseAddress());
holder.mTvPeo.setVisibility(View.GONE);
if (mData.get(i).getIsCoordination() == 0) {
holder.mTvCoor.setVisibility(View.VISIBLE);
holder.mTvCoor.setText("不配合");
} else {
// if (mData.get(i).getIsCoordination() == 0) {
// holder.mTvCoor.setVisibility(View.VISIBLE);
// holder.mTvCoor.setText("不配合");
// } else {
holder.mTvCoor.setVisibility(View.GONE);
}
// }
if (bean.getCheckType() == 1) {
holder.mTvType.setText("检查");
} else {

View File

@ -0,0 +1,29 @@
package com.sucstepsoft.txrealtimelocation.adapters.holders;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.CheckBox;
import android.widget.TextView;
import com.sucstepsoft.txrealtimelocation.R;
/**
* 作者: adam
* 日期: 2021/7/19 - 2:56 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseListHolder extends RecyclerView.ViewHolder {
public TextView mTvName;
public TextView mTvAddress;
public TextView mTvPeo;
public CheckBox mCbCheck;
public CaseListHolder(View itemView) {
super(itemView);
mTvName = itemView.findViewById(R.id.tv_name);
mTvAddress = itemView.findViewById(R.id.tv_address);
mTvPeo = itemView.findViewById(R.id.tv_peo);
mCbCheck = itemView.findViewById(R.id.cb_check);
}
}

View File

@ -0,0 +1,42 @@
package com.sucstepsoft.txrealtimelocation.adapters.holders;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.sucstepsoft.txrealtimelocation.R;
/**
* 作者: Adam
* 日期: 2019/8/6 - 14:06
* 邮箱: itgaojian@163.com
* 描述: 步骤
*/
public class CaseLogHolder extends RecyclerView.ViewHolder {
public TextView mTvTime;
public TextView mTvDesc;
public TextView mTvStartTime;
public TextView mTvEndTime;
public TextView mTvHandleTime;
public TextView mTvHandleUser;
public TextView mTvHandlePhone;
public TextView mTvHandleStatus;
public TextView mTvHandleSummary;
public LinearLayout mLlExplain;
public CaseLogHolder(@NonNull View itemView) {
super(itemView);
mTvTime = itemView.findViewById(R.id.tv_time);
mTvDesc = itemView.findViewById(R.id.tv_desc);
mTvStartTime = itemView.findViewById(R.id.tv_start_time);
mTvEndTime = itemView.findViewById(R.id.tv_end_time);
mTvHandleTime = itemView.findViewById(R.id.tv_handle_time);
mTvHandleUser = itemView.findViewById(R.id.tv_handle_user);
mTvHandlePhone = itemView.findViewById(R.id.tv_handle_phone);
mTvHandleStatus = itemView.findViewById(R.id.tv_handle_status);
mTvHandleSummary = itemView.findViewById(R.id.tv_handle_summary);
mLlExplain = itemView.findViewById(R.id.ll_explain);
}
}

View File

@ -0,0 +1,38 @@
package com.sucstepsoft.txrealtimelocation.beans;
/**
* 作者: adam
* 日期: 2021/7/19 - 5:22 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseCompleteBean {
private String summary;
private String leaderId;
private String leaderType;//district 旗县区领导 districtDepartment 直属领导(委办局)
public String getLeaderId() {
return leaderId;
}
public void setLeaderId(String leaderId) {
this.leaderId = leaderId;
}
public String getLeaderType() {
return leaderType;
}
public void setLeaderType(String leaderType) {
this.leaderType = leaderType;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
}

View File

@ -0,0 +1,604 @@
package com.sucstepsoft.txrealtimelocation.beans;
import java.util.List;
/**
* 作者: adam
* 日期: 2021/7/19 - 4:08 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseDetailBean {
private String checkId;
private String checkLat;
private String checkLng;
private int checkType;
private String creator;
private String creatorName;
private String creatorPhone;
private String enterpriseAddress;
private String enterpriseArea1;
private String enterpriseArea1Name;
private String enterpriseArea2;
private String enterpriseArea2Name;
private String enterpriseArea3;
private String enterpriseArea3Name;
private String enterpriseArea4;
private String enterpriseArea4Name;
private String enterpriseArea5;
private String enterpriseArea5Name;
private String enterpriseEngagedCount;
private String enterpriseFactoryGate;
private String enterpriseId;
private String enterpriseIndustry;
private String enterpriseIndustryName;
private String enterpriseLat;
private String enterpriseLng;
private String enterpriseMaster;
private String enterpriseName;
private String enterprisePhone;
private String enterpriseRiskOperation;
private String enterpriseRiskOperationName;
private String enterpriseType;
private String enterpriseTypeName;
private String enterpriseWorkplace;
private String gmtCreate;
private int immediatelyChangeType;
private int isComplete;
private int isCoordination;
private int rectificationDays;
private int rectificationType;
private String summary;
private String taskCheckId;
private List<CheckItemsBean> checkItems;
public String getCheckId() {
return checkId;
}
public void setCheckId(String checkId) {
this.checkId = checkId;
}
public String getCheckLat() {
return checkLat;
}
public void setCheckLat(String checkLat) {
this.checkLat = checkLat;
}
public String getCheckLng() {
return checkLng;
}
public void setCheckLng(String checkLng) {
this.checkLng = checkLng;
}
public int getCheckType() {
return checkType;
}
public void setCheckType(int checkType) {
this.checkType = checkType;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getCreatorPhone() {
return creatorPhone;
}
public void setCreatorPhone(String creatorPhone) {
this.creatorPhone = creatorPhone;
}
public String getEnterpriseAddress() {
return enterpriseAddress;
}
public void setEnterpriseAddress(String enterpriseAddress) {
this.enterpriseAddress = enterpriseAddress;
}
public String getEnterpriseArea1() {
return enterpriseArea1;
}
public void setEnterpriseArea1(String enterpriseArea1) {
this.enterpriseArea1 = enterpriseArea1;
}
public String getEnterpriseArea1Name() {
return enterpriseArea1Name;
}
public void setEnterpriseArea1Name(String enterpriseArea1Name) {
this.enterpriseArea1Name = enterpriseArea1Name;
}
public String getEnterpriseArea2() {
return enterpriseArea2;
}
public void setEnterpriseArea2(String enterpriseArea2) {
this.enterpriseArea2 = enterpriseArea2;
}
public String getEnterpriseArea2Name() {
return enterpriseArea2Name;
}
public void setEnterpriseArea2Name(String enterpriseArea2Name) {
this.enterpriseArea2Name = enterpriseArea2Name;
}
public String getEnterpriseArea3() {
return enterpriseArea3;
}
public void setEnterpriseArea3(String enterpriseArea3) {
this.enterpriseArea3 = enterpriseArea3;
}
public String getEnterpriseArea3Name() {
return enterpriseArea3Name;
}
public void setEnterpriseArea3Name(String enterpriseArea3Name) {
this.enterpriseArea3Name = enterpriseArea3Name;
}
public String getEnterpriseArea4() {
return enterpriseArea4;
}
public void setEnterpriseArea4(String enterpriseArea4) {
this.enterpriseArea4 = enterpriseArea4;
}
public String getEnterpriseArea4Name() {
return enterpriseArea4Name;
}
public void setEnterpriseArea4Name(String enterpriseArea4Name) {
this.enterpriseArea4Name = enterpriseArea4Name;
}
public String getEnterpriseArea5() {
return enterpriseArea5;
}
public void setEnterpriseArea5(String enterpriseArea5) {
this.enterpriseArea5 = enterpriseArea5;
}
public String getEnterpriseArea5Name() {
return enterpriseArea5Name;
}
public void setEnterpriseArea5Name(String enterpriseArea5Name) {
this.enterpriseArea5Name = enterpriseArea5Name;
}
public String getEnterpriseEngagedCount() {
return enterpriseEngagedCount;
}
public void setEnterpriseEngagedCount(String enterpriseEngagedCount) {
this.enterpriseEngagedCount = enterpriseEngagedCount;
}
public String getEnterpriseFactoryGate() {
return enterpriseFactoryGate;
}
public void setEnterpriseFactoryGate(String enterpriseFactoryGate) {
this.enterpriseFactoryGate = enterpriseFactoryGate;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getEnterpriseIndustry() {
return enterpriseIndustry;
}
public void setEnterpriseIndustry(String enterpriseIndustry) {
this.enterpriseIndustry = enterpriseIndustry;
}
public String getEnterpriseIndustryName() {
return enterpriseIndustryName;
}
public void setEnterpriseIndustryName(String enterpriseIndustryName) {
this.enterpriseIndustryName = enterpriseIndustryName;
}
public String getEnterpriseLat() {
return enterpriseLat;
}
public void setEnterpriseLat(String enterpriseLat) {
this.enterpriseLat = enterpriseLat;
}
public String getEnterpriseLng() {
return enterpriseLng;
}
public void setEnterpriseLng(String enterpriseLng) {
this.enterpriseLng = enterpriseLng;
}
public String getEnterpriseMaster() {
return enterpriseMaster;
}
public void setEnterpriseMaster(String enterpriseMaster) {
this.enterpriseMaster = enterpriseMaster;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getEnterprisePhone() {
return enterprisePhone;
}
public void setEnterprisePhone(String enterprisePhone) {
this.enterprisePhone = enterprisePhone;
}
public String getEnterpriseRiskOperation() {
return enterpriseRiskOperation;
}
public void setEnterpriseRiskOperation(String enterpriseRiskOperation) {
this.enterpriseRiskOperation = enterpriseRiskOperation;
}
public String getEnterpriseRiskOperationName() {
return enterpriseRiskOperationName;
}
public void setEnterpriseRiskOperationName(String enterpriseRiskOperationName) {
this.enterpriseRiskOperationName = enterpriseRiskOperationName;
}
public String getEnterpriseType() {
return enterpriseType;
}
public void setEnterpriseType(String enterpriseType) {
this.enterpriseType = enterpriseType;
}
public String getEnterpriseTypeName() {
return enterpriseTypeName;
}
public void setEnterpriseTypeName(String enterpriseTypeName) {
this.enterpriseTypeName = enterpriseTypeName;
}
public String getEnterpriseWorkplace() {
return enterpriseWorkplace;
}
public void setEnterpriseWorkplace(String enterpriseWorkplace) {
this.enterpriseWorkplace = enterpriseWorkplace;
}
public String getGmtCreate() {
return gmtCreate;
}
public void setGmtCreate(String gmtCreate) {
this.gmtCreate = gmtCreate;
}
public int getImmediatelyChangeType() {
return immediatelyChangeType;
}
public void setImmediatelyChangeType(int immediatelyChangeType) {
this.immediatelyChangeType = immediatelyChangeType;
}
public int getIsComplete() {
return isComplete;
}
public void setIsComplete(int isComplete) {
this.isComplete = isComplete;
}
public int getIsCoordination() {
return isCoordination;
}
public void setIsCoordination(int isCoordination) {
this.isCoordination = isCoordination;
}
public int getRectificationDays() {
return rectificationDays;
}
public void setRectificationDays(int rectificationDays) {
this.rectificationDays = rectificationDays;
}
public int getRectificationType() {
return rectificationType;
}
public void setRectificationType(int rectificationType) {
this.rectificationType = rectificationType;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getTaskCheckId() {
return taskCheckId;
}
public void setTaskCheckId(String taskCheckId) {
this.taskCheckId = taskCheckId;
}
public List<CheckItemsBean> getCheckItems() {
return checkItems;
}
public void setCheckItems(List<CheckItemsBean> checkItems) {
this.checkItems = checkItems;
}
public static class CheckItemsBean {
private String checkItemId;
private String checkItemParentId;
private int checkItemType;
private String icon;
private String iconPress;
private String name;
private String parentName;
private String scenePhotos;
private String summary;
private int type;
private List<?> checkItemOptions;
private List<HiddenDangerReportsBean> hiddenDangerReports;
public String getCheckItemId() {
return checkItemId;
}
public void setCheckItemId(String checkItemId) {
this.checkItemId = checkItemId;
}
public String getCheckItemParentId() {
return checkItemParentId;
}
public void setCheckItemParentId(String checkItemParentId) {
this.checkItemParentId = checkItemParentId;
}
public int getCheckItemType() {
return checkItemType;
}
public void setCheckItemType(int checkItemType) {
this.checkItemType = checkItemType;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getIconPress() {
return iconPress;
}
public void setIconPress(String iconPress) {
this.iconPress = iconPress;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public String getScenePhotos() {
return scenePhotos;
}
public void setScenePhotos(String scenePhotos) {
this.scenePhotos = scenePhotos;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public List<?> getCheckItemOptions() {
return checkItemOptions;
}
public void setCheckItemOptions(List<?> checkItemOptions) {
this.checkItemOptions = checkItemOptions;
}
public List<HiddenDangerReportsBean> getHiddenDangerReports() {
return hiddenDangerReports;
}
public void setHiddenDangerReports(List<HiddenDangerReportsBean> hiddenDangerReports) {
this.hiddenDangerReports = hiddenDangerReports;
}
public static class HiddenDangerReportsBean {
private String checkId;
private String checkItemId;
private String checkItemOptionId;
private int checkItemType;
private String checkResult;
private String hiddenDangerReportId;
private int isWrongJoinByCheckItemId;
private String nameJoinByCheckItemId;
private String scenePhotos;
private int type;
private String unitJoinByCheckItemId;
public String getCheckId() {
return checkId;
}
public void setCheckId(String checkId) {
this.checkId = checkId;
}
public String getCheckItemId() {
return checkItemId;
}
public void setCheckItemId(String checkItemId) {
this.checkItemId = checkItemId;
}
public String getCheckItemOptionId() {
return checkItemOptionId;
}
public void setCheckItemOptionId(String checkItemOptionId) {
this.checkItemOptionId = checkItemOptionId;
}
public int getCheckItemType() {
return checkItemType;
}
public void setCheckItemType(int checkItemType) {
this.checkItemType = checkItemType;
}
public String getCheckResult() {
return checkResult;
}
public void setCheckResult(String checkResult) {
this.checkResult = checkResult;
}
public String getHiddenDangerReportId() {
return hiddenDangerReportId;
}
public void setHiddenDangerReportId(String hiddenDangerReportId) {
this.hiddenDangerReportId = hiddenDangerReportId;
}
public int getIsWrongJoinByCheckItemId() {
return isWrongJoinByCheckItemId;
}
public void setIsWrongJoinByCheckItemId(int isWrongJoinByCheckItemId) {
this.isWrongJoinByCheckItemId = isWrongJoinByCheckItemId;
}
public String getNameJoinByCheckItemId() {
return nameJoinByCheckItemId;
}
public void setNameJoinByCheckItemId(String nameJoinByCheckItemId) {
this.nameJoinByCheckItemId = nameJoinByCheckItemId;
}
public String getScenePhotos() {
return scenePhotos;
}
public void setScenePhotos(String scenePhotos) {
this.scenePhotos = scenePhotos;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getUnitJoinByCheckItemId() {
return unitJoinByCheckItemId;
}
public void setUnitJoinByCheckItemId(String unitJoinByCheckItemId) {
this.unitJoinByCheckItemId = unitJoinByCheckItemId;
}
}
}
}

View File

@ -0,0 +1,625 @@
package com.sucstepsoft.txrealtimelocation.beans;
import java.util.List;
/**
* 作者: adam
* 日期: 2021/7/19 - 2:45 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class CaseListBean {
private int page;
private int total;
private List<RowsBean> 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<RowsBean> getRows() {
return rows;
}
public void setRows(List<RowsBean> rows) {
this.rows = rows;
}
public static class RowsBean {
private String checkId;
private String checkLat;
private String checkLng;
private int checkType;
private String creator;
private String creatorName;
private String creatorPhone;
private String enterpriseAddress;
private String enterpriseArea1;
private String enterpriseArea1Name;
private String enterpriseArea2;
private String enterpriseArea2Name;
private String enterpriseArea3;
private String enterpriseArea3Name;
private String enterpriseArea4;
private String enterpriseArea4Name;
private String enterpriseArea5;
private String enterpriseArea5Name;
private String enterpriseEngagedCount;
private String enterpriseFactoryGate;
private String enterpriseId;
private String enterpriseIndustry;
private String enterpriseIndustryName;
private String enterpriseLat;
private String enterpriseLng;
private String enterpriseMaster;
private String enterpriseName;
private String enterprisePhone;
private String enterpriseRiskOperation;
private String enterpriseRiskOperationName;
private String enterpriseType;
private String enterpriseTypeName;
private String enterpriseWorkplace;
private String gmtCreate;
private int immediatelyChangeType;
private int isComplete;
private int isCoordination;
private int rectificationDays;
private int rectificationType;
private String summary;
private String taskCheckId;
private List<CheckItemsBean> checkItems;
public String getCheckId() {
return checkId;
}
public void setCheckId(String checkId) {
this.checkId = checkId;
}
public String getCheckLat() {
return checkLat;
}
public void setCheckLat(String checkLat) {
this.checkLat = checkLat;
}
public String getCheckLng() {
return checkLng;
}
public void setCheckLng(String checkLng) {
this.checkLng = checkLng;
}
public int getCheckType() {
return checkType;
}
public void setCheckType(int checkType) {
this.checkType = checkType;
}
public String getCreator() {
return creator;
}
public void setCreator(String creator) {
this.creator = creator;
}
public String getCreatorName() {
return creatorName;
}
public void setCreatorName(String creatorName) {
this.creatorName = creatorName;
}
public String getCreatorPhone() {
return creatorPhone;
}
public void setCreatorPhone(String creatorPhone) {
this.creatorPhone = creatorPhone;
}
public String getEnterpriseAddress() {
return enterpriseAddress;
}
public void setEnterpriseAddress(String enterpriseAddress) {
this.enterpriseAddress = enterpriseAddress;
}
public String getEnterpriseArea1() {
return enterpriseArea1;
}
public void setEnterpriseArea1(String enterpriseArea1) {
this.enterpriseArea1 = enterpriseArea1;
}
public String getEnterpriseArea1Name() {
return enterpriseArea1Name;
}
public void setEnterpriseArea1Name(String enterpriseArea1Name) {
this.enterpriseArea1Name = enterpriseArea1Name;
}
public String getEnterpriseArea2() {
return enterpriseArea2;
}
public void setEnterpriseArea2(String enterpriseArea2) {
this.enterpriseArea2 = enterpriseArea2;
}
public String getEnterpriseArea2Name() {
return enterpriseArea2Name;
}
public void setEnterpriseArea2Name(String enterpriseArea2Name) {
this.enterpriseArea2Name = enterpriseArea2Name;
}
public String getEnterpriseArea3() {
return enterpriseArea3;
}
public void setEnterpriseArea3(String enterpriseArea3) {
this.enterpriseArea3 = enterpriseArea3;
}
public String getEnterpriseArea3Name() {
return enterpriseArea3Name;
}
public void setEnterpriseArea3Name(String enterpriseArea3Name) {
this.enterpriseArea3Name = enterpriseArea3Name;
}
public String getEnterpriseArea4() {
return enterpriseArea4;
}
public void setEnterpriseArea4(String enterpriseArea4) {
this.enterpriseArea4 = enterpriseArea4;
}
public String getEnterpriseArea4Name() {
return enterpriseArea4Name;
}
public void setEnterpriseArea4Name(String enterpriseArea4Name) {
this.enterpriseArea4Name = enterpriseArea4Name;
}
public String getEnterpriseArea5() {
return enterpriseArea5;
}
public void setEnterpriseArea5(String enterpriseArea5) {
this.enterpriseArea5 = enterpriseArea5;
}
public String getEnterpriseArea5Name() {
return enterpriseArea5Name;
}
public void setEnterpriseArea5Name(String enterpriseArea5Name) {
this.enterpriseArea5Name = enterpriseArea5Name;
}
public String getEnterpriseEngagedCount() {
return enterpriseEngagedCount;
}
public void setEnterpriseEngagedCount(String enterpriseEngagedCount) {
this.enterpriseEngagedCount = enterpriseEngagedCount;
}
public String getEnterpriseFactoryGate() {
return enterpriseFactoryGate;
}
public void setEnterpriseFactoryGate(String enterpriseFactoryGate) {
this.enterpriseFactoryGate = enterpriseFactoryGate;
}
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public String getEnterpriseIndustry() {
return enterpriseIndustry;
}
public void setEnterpriseIndustry(String enterpriseIndustry) {
this.enterpriseIndustry = enterpriseIndustry;
}
public String getEnterpriseIndustryName() {
return enterpriseIndustryName;
}
public void setEnterpriseIndustryName(String enterpriseIndustryName) {
this.enterpriseIndustryName = enterpriseIndustryName;
}
public String getEnterpriseLat() {
return enterpriseLat;
}
public void setEnterpriseLat(String enterpriseLat) {
this.enterpriseLat = enterpriseLat;
}
public String getEnterpriseLng() {
return enterpriseLng;
}
public void setEnterpriseLng(String enterpriseLng) {
this.enterpriseLng = enterpriseLng;
}
public String getEnterpriseMaster() {
return enterpriseMaster;
}
public void setEnterpriseMaster(String enterpriseMaster) {
this.enterpriseMaster = enterpriseMaster;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getEnterprisePhone() {
return enterprisePhone;
}
public void setEnterprisePhone(String enterprisePhone) {
this.enterprisePhone = enterprisePhone;
}
public String getEnterpriseRiskOperation() {
return enterpriseRiskOperation;
}
public void setEnterpriseRiskOperation(String enterpriseRiskOperation) {
this.enterpriseRiskOperation = enterpriseRiskOperation;
}
public String getEnterpriseRiskOperationName() {
return enterpriseRiskOperationName;
}
public void setEnterpriseRiskOperationName(String enterpriseRiskOperationName) {
this.enterpriseRiskOperationName = enterpriseRiskOperationName;
}
public String getEnterpriseType() {
return enterpriseType;
}
public void setEnterpriseType(String enterpriseType) {
this.enterpriseType = enterpriseType;
}
public String getEnterpriseTypeName() {
return enterpriseTypeName;
}
public void setEnterpriseTypeName(String enterpriseTypeName) {
this.enterpriseTypeName = enterpriseTypeName;
}
public String getEnterpriseWorkplace() {
return enterpriseWorkplace;
}
public void setEnterpriseWorkplace(String enterpriseWorkplace) {
this.enterpriseWorkplace = enterpriseWorkplace;
}
public String getGmtCreate() {
return gmtCreate;
}
public void setGmtCreate(String gmtCreate) {
this.gmtCreate = gmtCreate;
}
public int getImmediatelyChangeType() {
return immediatelyChangeType;
}
public void setImmediatelyChangeType(int immediatelyChangeType) {
this.immediatelyChangeType = immediatelyChangeType;
}
public int getIsComplete() {
return isComplete;
}
public void setIsComplete(int isComplete) {
this.isComplete = isComplete;
}
public int getIsCoordination() {
return isCoordination;
}
public void setIsCoordination(int isCoordination) {
this.isCoordination = isCoordination;
}
public int getRectificationDays() {
return rectificationDays;
}
public void setRectificationDays(int rectificationDays) {
this.rectificationDays = rectificationDays;
}
public int getRectificationType() {
return rectificationType;
}
public void setRectificationType(int rectificationType) {
this.rectificationType = rectificationType;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getTaskCheckId() {
return taskCheckId;
}
public void setTaskCheckId(String taskCheckId) {
this.taskCheckId = taskCheckId;
}
public List<CheckItemsBean> getCheckItems() {
return checkItems;
}
public void setCheckItems(List<CheckItemsBean> checkItems) {
this.checkItems = checkItems;
}
public static class CheckItemsBean {
private String checkItemId;
private int checkItemListType;
private String checkItemName;
private String checkItemParentId;
private String checkItemSummary;
private int checkItemType;
private int isMustCheck;
private String taskEnterpriseId;
private String taskId;
private List<CheckItemOptionsBean> checkItemOptions;
public String getCheckItemId() {
return checkItemId;
}
public void setCheckItemId(String checkItemId) {
this.checkItemId = checkItemId;
}
public int getCheckItemListType() {
return checkItemListType;
}
public void setCheckItemListType(int checkItemListType) {
this.checkItemListType = checkItemListType;
}
public String getCheckItemName() {
return checkItemName;
}
public void setCheckItemName(String checkItemName) {
this.checkItemName = checkItemName;
}
public String getCheckItemParentId() {
return checkItemParentId;
}
public void setCheckItemParentId(String checkItemParentId) {
this.checkItemParentId = checkItemParentId;
}
public String getCheckItemSummary() {
return checkItemSummary;
}
public void setCheckItemSummary(String checkItemSummary) {
this.checkItemSummary = checkItemSummary;
}
public int getCheckItemType() {
return checkItemType;
}
public void setCheckItemType(int checkItemType) {
this.checkItemType = checkItemType;
}
public int getIsMustCheck() {
return isMustCheck;
}
public void setIsMustCheck(int isMustCheck) {
this.isMustCheck = isMustCheck;
}
public String getTaskEnterpriseId() {
return taskEnterpriseId;
}
public void setTaskEnterpriseId(String taskEnterpriseId) {
this.taskEnterpriseId = taskEnterpriseId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public List<CheckItemOptionsBean> getCheckItemOptions() {
return checkItemOptions;
}
public void setCheckItemOptions(List<CheckItemOptionsBean> checkItemOptions) {
this.checkItemOptions = checkItemOptions;
}
public static class CheckItemOptionsBean {
private String checkItemId;
private int checkItemIsWrong;
private String checkItemOptionId;
private String checkItemOptionName;
private int checkItemOptionType;
private String checkItemOptionUnit;
private String checkResult;
private int isWrong;
private String name;
private String scenePhotos;
private int type;
private String unit;
public String getCheckItemId() {
return checkItemId;
}
public void setCheckItemId(String checkItemId) {
this.checkItemId = checkItemId;
}
public int getCheckItemIsWrong() {
return checkItemIsWrong;
}
public void setCheckItemIsWrong(int checkItemIsWrong) {
this.checkItemIsWrong = checkItemIsWrong;
}
public String getCheckItemOptionId() {
return checkItemOptionId;
}
public void setCheckItemOptionId(String checkItemOptionId) {
this.checkItemOptionId = checkItemOptionId;
}
public String getCheckItemOptionName() {
return checkItemOptionName;
}
public void setCheckItemOptionName(String checkItemOptionName) {
this.checkItemOptionName = checkItemOptionName;
}
public int getCheckItemOptionType() {
return checkItemOptionType;
}
public void setCheckItemOptionType(int checkItemOptionType) {
this.checkItemOptionType = checkItemOptionType;
}
public String getCheckItemOptionUnit() {
return checkItemOptionUnit;
}
public void setCheckItemOptionUnit(String checkItemOptionUnit) {
this.checkItemOptionUnit = checkItemOptionUnit;
}
public String getCheckResult() {
return checkResult;
}
public void setCheckResult(String checkResult) {
this.checkResult = checkResult;
}
public int getIsWrong() {
return isWrong;
}
public void setIsWrong(int isWrong) {
this.isWrong = isWrong;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getScenePhotos() {
return scenePhotos;
}
public void setScenePhotos(String scenePhotos) {
this.scenePhotos = scenePhotos;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
}
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,227 @@
package com.sucstepsoft.txrealtimelocation.beans;
/**
* 作者: adam
* 日期: 2021/7/19 - 5:55 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class DistrictPersonBean {
private String area1;
private String area1Name;
private String area2;
private String area2Name;
private String area3;
private String area3Name;
private String area4;
private String area4Name;
private String area5;
private String area5Name;
private String gridPersonnelId;
private String gridType;
private String industryId;
private String leaderUserId;
private String leaderUserName;
private int level;
private String personType;
private String userBirth;
private String userExplain;
private String userId;
private String userName;
private String userNation;
private String userPhone;
private String userSex;
public String getArea1() {
return area1;
}
public void setArea1(String area1) {
this.area1 = area1;
}
public String getArea1Name() {
return area1Name;
}
public void setArea1Name(String area1Name) {
this.area1Name = area1Name;
}
public String getArea2() {
return area2;
}
public void setArea2(String area2) {
this.area2 = area2;
}
public String getArea2Name() {
return area2Name;
}
public void setArea2Name(String area2Name) {
this.area2Name = area2Name;
}
public String getArea3() {
return area3;
}
public void setArea3(String area3) {
this.area3 = area3;
}
public String getArea3Name() {
return area3Name;
}
public void setArea3Name(String area3Name) {
this.area3Name = area3Name;
}
public String getArea4() {
return area4;
}
public void setArea4(String area4) {
this.area4 = area4;
}
public String getArea4Name() {
return area4Name;
}
public void setArea4Name(String area4Name) {
this.area4Name = area4Name;
}
public String getArea5() {
return area5;
}
public void setArea5(String area5) {
this.area5 = area5;
}
public String getArea5Name() {
return area5Name;
}
public void setArea5Name(String area5Name) {
this.area5Name = area5Name;
}
public String getGridPersonnelId() {
return gridPersonnelId;
}
public void setGridPersonnelId(String gridPersonnelId) {
this.gridPersonnelId = gridPersonnelId;
}
public String getGridType() {
return gridType;
}
public void setGridType(String gridType) {
this.gridType = gridType;
}
public String getIndustryId() {
return industryId;
}
public void setIndustryId(String industryId) {
this.industryId = industryId;
}
public String getLeaderUserId() {
return leaderUserId;
}
public void setLeaderUserId(String leaderUserId) {
this.leaderUserId = leaderUserId;
}
public String getLeaderUserName() {
return leaderUserName;
}
public void setLeaderUserName(String leaderUserName) {
this.leaderUserName = leaderUserName;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getPersonType() {
return personType;
}
public void setPersonType(String personType) {
this.personType = personType;
}
public String getUserBirth() {
return userBirth;
}
public void setUserBirth(String userBirth) {
this.userBirth = userBirth;
}
public String getUserExplain() {
return userExplain;
}
public void setUserExplain(String userExplain) {
this.userExplain = userExplain;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserNation() {
return userNation;
}
public void setUserNation(String userNation) {
this.userNation = userNation;
}
public String getUserPhone() {
return userPhone;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
}

View File

@ -0,0 +1,101 @@
package com.sucstepsoft.txrealtimelocation.beans;
/**
* 作者: adam
* 日期: 2021/7/20 - 11:12 上午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class LogListBean {
private String description;
private String endTime;
private String handleDuration;
private String handlerUserId;
private String handlerUserName;
private String handlerUserPhone;
private String name;
private String startTime;
private String summary;
private String time;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public String getHandleDuration() {
return handleDuration;
}
public void setHandleDuration(String handleDuration) {
this.handleDuration = handleDuration;
}
public String getHandlerUserId() {
return handlerUserId;
}
public void setHandlerUserId(String handlerUserId) {
this.handlerUserId = handlerUserId;
}
public String getHandlerUserName() {
return handlerUserName;
}
public void setHandlerUserName(String handlerUserName) {
this.handlerUserName = handlerUserName;
}
public String getHandlerUserPhone() {
return handlerUserPhone;
}
public void setHandlerUserPhone(String handlerUserPhone) {
this.handlerUserPhone = handlerUserPhone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}

View File

@ -0,0 +1,470 @@
package com.sucstepsoft.txrealtimelocation.fragments.issue;
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.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.CaseCheckOptionsActivity;
import com.sucstepsoft.txrealtimelocation.adapters.CaseListAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.IssueSubAdapter;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.beans.IssueSubBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.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
* 日期: 2019/7/30 - 09:31
* 邮箱: itgaojian@163.com
* 描述: 我的待办任务
*/
public class CaseListFragment extends LazyFragment {
public static final String GRID_GRID = "grid";//网格员
public static final String GRID_STREET = "street";//乡镇街道管理员
public static final String GRID_DISTRICT = "district";//旗县区管理员
public static final String GRID_DISTRICT_DEPARTMENT = "districtDepartment";//旗县区委办局管理员
public static final String GRID_CITY = "city";//市管理员
@BindView(R.id.rlv_items)
XRecyclerView mRlvItems;
private List<CaseListBean.RowsBean> mDatas;
private CaseListAdapter mAdapter;
private String mRows = "20";
private int mCurPage = 1;
private int mType = 1;
private Unbinder mBind;
private Activity mActivity;
private Disposable mDisDis;
private Disposable mDisAppoint;
private String mPersonType;
@Override
protected void onCreateViewLazy(Bundle savedInstanceState) {
super.onCreateViewLazy(savedInstanceState);
View view = LayoutInflater.from(mActivity).inflate(R.layout.fragment_case_list, null);
setContentView(view);
mBind = ButterKnife.bind(this, view);
mDatas = new ArrayList<>();
mAdapter = new CaseListAdapter(mActivity, mDatas);
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();
}
});
mPersonType = UserLgUtils.getPersonType();
switch (mPersonType) {
case GRID_GRID:
break;
case GRID_STREET:
getStreetList(mCurPage);
break;
case GRID_DISTRICT:
getDistrictList(mCurPage);
break;
case GRID_DISTRICT_DEPARTMENT:
getDistrictDepartmentList(mCurPage);
break;
case GRID_CITY:
getCityList(mCurPage);
break;
}
}
/**
* 显示详情
*
* @param bean
*/
private void showIssueDetail(CaseListBean.RowsBean bean) {
Intent intent = new Intent(mActivity, CaseCheckOptionsActivity.class);
intent.putExtra("checkId", bean.getCheckId());
intent.putExtra("name", bean.getEnterpriseName());
intent.putExtra("peo", bean.getEnterpriseMaster());
intent.putExtra("enId", bean.getEnterpriseId());
startActivityForResult(intent, 123);
}
@Override
protected void onFragmentStartLazy() {
super.onFragmentStartLazy();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.mActivity = activity;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123) {
if (resultCode == 223) {
refresh();
}
}
}
private void refresh() {
mDatas.clear();
mAdapter.setData(mDatas);
switch (mPersonType) {
case GRID_GRID:
break;
case GRID_STREET:
getStreetList(1);
break;
case GRID_DISTRICT:
getDistrictList(1);
break;
case GRID_DISTRICT_DEPARTMENT:
getDistrictDepartmentList(1);
break;
case GRID_CITY:
getCityList(1);
break;
}
}
private void loadMore() {
switch (mPersonType) {
case GRID_GRID:
break;
case GRID_STREET:
getStreetList(mCurPage);
break;
case GRID_DISTRICT:
getDistrictList(mCurPage);
break;
case GRID_DISTRICT_DEPARTMENT:
getDistrictDepartmentList(mCurPage);
break;
case GRID_CITY:
getCityList(mCurPage);
break;
}
}
/**
* 刷新视图
*
* @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 (mDisDis != null && !mDisDis.isDisposed()) {
mDisDis.dispose();
}
mRlvItems.destroy();
mRlvItems = null;
mBind.unbind();
mAdapter = null;
mDatas = null;
}
/**
* 我的街道案件
*/
private void getStreetList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineStreetCaseList(mCurPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseListBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisAppoint = d;
}
@Override
public void onNext(CaseListBean 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 getDistrictList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineDistrictCaseList(mCurPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseListBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisAppoint = d;
}
@Override
public void onNext(CaseListBean 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 getDistrictDepartmentList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineDistrictDepartmentCaseList(mCurPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseListBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisAppoint = d;
}
@Override
public void onNext(CaseListBean 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 getCityList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineCityCaseList(mCurPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseListBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisAppoint = d;
}
@Override
public void onNext(CaseListBean 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() {
}
});
}
}

View File

@ -0,0 +1,269 @@
package com.sucstepsoft.txrealtimelocation.fragments.issue;
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.txrealtimelocation.R;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.CaseCheckOptionsActivity;
import com.sucstepsoft.txrealtimelocation.activitys.trouble.CaseCheckOptionsDetailActivity;
import com.sucstepsoft.txrealtimelocation.adapters.CaseListAdapter;
import com.sucstepsoft.txrealtimelocation.adapters.IssueSubAdapter;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.beans.IssueSubBean;
import com.sucstepsoft.txrealtimelocation.net.LocationApiService;
import com.sucstepsoft.txrealtimelocation.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
* 日期: 2019/7/30 - 09:31
* 邮箱: itgaojian@163.com
* 描述: 我的待办任务
*/
public class CaseListHistoryFragment extends LazyFragment {
public static final String GRID_GRID = "grid";//网格员
public static final String GRID_STREET = "street";//乡镇街道管理员
public static final String GRID_DISTRICT = "district";//旗县区管理员
public static final String GRID_DISTRICT_DEPARTMENT = "districtDepartment";//旗县区委办局管理员
public static final String GRID_CITY = "city";//市管理员
@BindView(R.id.rlv_items)
XRecyclerView mRlvItems;
private List<CaseListBean.RowsBean> mDatas;
private CaseListAdapter mAdapter;
private String mRows = "20";
private int mCurPage = 1;
private int mType = 1;
private Unbinder mBind;
private Activity mActivity;
private Disposable mDisDis;
private Disposable mDisAppoint;
private String mPersonType;
@Override
protected void onCreateViewLazy(Bundle savedInstanceState) {
super.onCreateViewLazy(savedInstanceState);
View view = LayoutInflater.from(mActivity).inflate(R.layout.fragment_case_history_list, null);
setContentView(view);
mBind = ButterKnife.bind(this, view);
mDatas = new ArrayList<>();
mAdapter = new CaseListAdapter(mActivity, mDatas);
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();
}
});
mPersonType = UserLgUtils.getPersonType();
getStreetList(mCurPage);
}
/**
* 显示详情
*
* @param bean
*/
private void showIssueDetail(CaseListBean.RowsBean bean) {
Intent intent = new Intent(mActivity, CaseCheckOptionsDetailActivity.class);
intent.putExtra("checkId", bean.getCheckId());
intent.putExtra("name", bean.getEnterpriseName());
intent.putExtra("peo", bean.getEnterpriseMaster());
intent.putExtra("enId", bean.getEnterpriseId());
startActivityForResult(intent, 123);
}
@Override
protected void onFragmentStartLazy() {
super.onFragmentStartLazy();
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
this.mActivity = activity;
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 123) {
if (resultCode == 223) {
refresh();
}
}
}
private void refresh() {
mDatas.clear();
mAdapter.setData(mDatas);
getStreetList(1);
// switch (mPersonType) {
// case GRID_GRID:
// break;
// case GRID_STREET:
//
// break;
// case GRID_DISTRICT:
// getDistrictList(1);
// break;
// case GRID_DISTRICT_DEPARTMENT:
// getDistrictDepartmentList(1);
// break;
// case GRID_CITY:
// getCityList(1);
// break;
// }
}
private void loadMore() {
getStreetList(mCurPage);
// switch (mPersonType) {
// case GRID_GRID:
// break;
// case GRID_STREET:
//
// break;
// case GRID_DISTRICT:
// getDistrictList(mCurPage);
// break;
// case GRID_DISTRICT_DEPARTMENT:
// getDistrictDepartmentList(mCurPage);
// break;
// case GRID_CITY:
// getCityList(mCurPage);
// break;
// }
}
/**
* 刷新视图
*
* @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 (mDisDis != null && !mDisDis.isDisposed()) {
mDisDis.dispose();
}
mRlvItems.destroy();
mRlvItems = null;
mBind.unbind();
mAdapter = null;
mDatas = null;
}
/**
* 我的街道案件
*/
private void getStreetList(int page) {
mCurPage = page;
RetrofitManager.getInstance()
.create(LocationApiService.class)
.getMineHistoryStreetCaseList(mCurPage + "", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<CaseListBean>() {
@Override
public void onSubscribe(Disposable d) {
mDisAppoint = d;
}
@Override
public void onNext(CaseListBean 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() {
}
});
}
}

View File

@ -8,7 +8,9 @@ import com.sucstepsoft.txrealtimelocation.beans.AreaListBean;
import com.sucstepsoft.txrealtimelocation.beans.BaseDictionaryBean;
import com.sucstepsoft.txrealtimelocation.beans.BaseUserBean;
import com.sucstepsoft.txrealtimelocation.beans.BaseUserInfo;
import com.sucstepsoft.txrealtimelocation.beans.CaseDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.CaseFlowBean;
import com.sucstepsoft.txrealtimelocation.beans.CaseListBean;
import com.sucstepsoft.txrealtimelocation.beans.CheckItemOption;
import com.sucstepsoft.txrealtimelocation.beans.CheckOptionsbean;
import com.sucstepsoft.txrealtimelocation.beans.CheckSignBean;
@ -20,12 +22,14 @@ import com.sucstepsoft.txrealtimelocation.beans.CounterCheckListBean;
import com.sucstepsoft.txrealtimelocation.beans.CounterCheckOptionsBean;
import com.sucstepsoft.txrealtimelocation.beans.DepartmentBean;
import com.sucstepsoft.txrealtimelocation.beans.DictBean;
import com.sucstepsoft.txrealtimelocation.beans.DistrictPersonBean;
import com.sucstepsoft.txrealtimelocation.beans.GirdPBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryDetialBean;
import com.sucstepsoft.txrealtimelocation.beans.HistoryMissionBean;
import com.sucstepsoft.txrealtimelocation.beans.IssueSubBean;
import com.sucstepsoft.txrealtimelocation.beans.LeaveDetailBean;
import com.sucstepsoft.txrealtimelocation.beans.LeaveListBean;
import com.sucstepsoft.txrealtimelocation.beans.LogListBean;
import com.sucstepsoft.txrealtimelocation.beans.MainNumBean;
import com.sucstepsoft.txrealtimelocation.beans.MineCompany;
import com.sucstepsoft.txrealtimelocation.beans.MineCountBean;
@ -96,17 +100,19 @@ public interface LocationApiService {
@Headers({"Content-Type: application/json", "Accept: application/json"})
@GET("appversion/getappversionnumber/{appVersionId}")
Observable<VersionBean> doCheckAppVersion(@Path("appVersionId") String appVersionId, @Header("token") String token);
@Headers({"Content-Type:application/json", "Accept:application/json"})
@GET("user/getappuser")
Observable<BaseUserInfo> getUserInfo(@Header("token") String token);
/**
* 更新用户基本信息
*/
@Headers({"Content-Type:application/json", "Accept:application/json"})
@PUT("user/updateuserinfo")
Observable<BaseUserBean> editUserInfo(@Body RequestBody body, @Header("token") String token);
/**
*
* 获取字典
*
* @param id
@ -115,6 +121,7 @@ public interface LocationApiService {
@Headers({"Content-Type:application/json", "Accept:application/json"})
@GET("datadictionary/listdictionarybyparentid/{dictionaryParentId}")
Observable<List<BaseDictionaryBean>> getSystemDictionary(@Path("dictionaryParentId") String id, @Header("token") String token);
/**
* 校验上午是否已经签到
*
@ -134,6 +141,7 @@ public interface LocationApiService {
@Headers({"base_url_name:dict", "Content-Type:application/json", "Accept:application/json"})
@GET("app/usersignout/getcheckusersignout")
Observable<CheckSignOffBean> checkSignOff(@Header("token") String token);
/**
* 获取用户基本信息
*/
@ -141,6 +149,7 @@ public interface LocationApiService {
@Headers({"Content-Type:application/json", "Accept:application/json"})
@GET("user/getuserinfo")
Observable<JsonObject> getBaseUserInfo(@Header("token") String token);
/**
* 签到
*
@ -705,7 +714,7 @@ public interface LocationApiService {
//保存检查结果
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@POST("check/savecheck")
@POST("check2/save")
Observable<SuccessBean> doSaveOptions(@Body RequestBody leaveBody, @Header("token") String token);
//绑定企业
@ -723,89 +732,89 @@ public interface LocationApiService {
//复查列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagerecheckofmine")
@GET("check2/listpage-recheck-of-mine")
Observable<CounterCheckListBean> getCounterCheckList(@Query("page") String page, @Header("token") String token);
//复查列表-name
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagerecheckofmine")
@GET("check2/listpage-recheck-of-mine")
Observable<CounterCheckListBean> getCounterCheckListByName(@Query("page") String page, @Query("keywords") String name, @Header("token") String token);
//复查列表-type
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagerecheckofmine")
@GET("check2/listpage-recheck-of-mine")
Observable<CounterCheckListBean> getCounterCheckListByType(@Query("page") String page, @Query("type") String type, @Header("token") String token);
//复查列表-all
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagerecheckofmine")
@GET("check2/listpage-recheck-of-mine")
Observable<CounterCheckListBean> getCounterCheckListByAll(@Query("page") String page, @Query("keywords") String name, @Query("type") String type, @Header("token") String token);
//获取复查项列表
//GET /app/check/listcheckitemunpassbycheckid/{checkId}
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listcheckitemunpassbycheckid/{checkId}")
@GET("check2/list-check-item-unpass/{checkId}")
Observable<List<CounterCheckOptionsBean>> getCounterCheckOptions(@Path("checkId") String checkId, @Header("token") String token);
//保存复查结果
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@POST("check/saverecheck/{checkId}")
@POST("check2/save-re/{checkId}")
Observable<SuccessBean> doSaveCounterCheckOptions(@Body RequestBody leaveBody, @Path("checkId") String checkId, @Header("token") String token);
//我的历史任务列表
//check/listpagecheckofmine
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckList(@Query("page") String page, @Header("token") String token);
//历史任务-name
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByName(@Query("page") String page, @Query("keywords") String name, @Header("token") String token);
//历史任务-type
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByType(@Query("page") String page, @Query("type") String type, @Header("token") String token);
//历史任务-all
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByAll(@Query("page") String page, @Query("keywords") String name, @Query("type") String type, @Header("token") String token);
//我的历史任务列表
//check/listpagecheckofmine
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByMouth(@Query("page") String page, @Query("checkMonth") String mouth, @Query("checkType") String cType, @Header("token") String token);
//历史任务-name
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByNameByMouth(@Query("page") String page, @Query("keywords") String name, @Query("checkMonth") String mouth, @Query("checkType") String cType, @Header("token") String token);
//历史任务-type
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByTypeByMouth(@Query("page") String page, @Query("type") String type, @Query("checkMonth") String mouth, @Query("checkType") String cType, @Header("token") String token);
//历史任务-all
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listpagecheckofmine")
@GET("check2/listpage-check-of-mine")
Observable<CounterCheckListBean> getMineCheckListByAllByMouth(@Query("page") String page, @Query("keywords") String name, @Query("type") String type, @Query("checkMonth") String mouth, @Query("checkType") String cType, @Header("token") String token);
//历史任务详情
//check/getcheckbyid/{checkId}
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/listcheckitembycheckid/{checkId}")
@GET("check2/listcheckitembycheckid/{checkId}")
Observable<List<HistoryMissionBean>> getHistoryDetail(@Path("checkId") String checkId, @Header("token") String token);
//历史任务详情 --- 新接口
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/getcheckbyid/{checkId}")
@GET("check2/get/{checkId}")
Observable<HistoryDetialBean> getHistoryDetailById(@Path("checkId") String checkId, @Header("token") String token);
//通知列表
@ -848,7 +857,7 @@ public interface LocationApiService {
//获取历史任务数量
//GET /app/check/countcheckofmine
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check/countcheckofmine")
@GET("check2/count-check-of-mine")
Observable<BaseUserBean> getHistoryCount(@Header("token") String token);
//我的企业数量
@ -885,6 +894,7 @@ public interface LocationApiService {
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("publicareareport/getpublicareareportbyid/{publicAreaReportId}")
Observable<PublicTroubleListBean.RowsBean> getPublicTroubleDetail(@Path("publicAreaReportId") String pId, @Header("token") String token);
/**
* 获取个人字段信息列表
*/
@ -944,5 +954,111 @@ public interface LocationApiService {
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("count/countcurrentmonthofmine")
Observable<MineCountBean> getMineCount(@Header("token") String token);
/*=================待办任务=====================*/
//我的街道案件列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-street-of-mine")
Observable<CaseListBean> getMineStreetCaseList(@Query("page") String page, @Header("token") String token);
//我的旗县区案件列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-district-of-mine")
Observable<CaseListBean> getMineDistrictCaseList(@Query("page") String page, @Header("token") String token);
//我的旗县区委办局案件列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-district-department-of-mine")
Observable<CaseListBean> getMineDistrictDepartmentCaseList(@Query("page") String page, @Header("token") String token);
//我的市案件列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-city-of-mine")
Observable<CaseListBean> getMineCityCaseList(@Query("page") String page, @Header("token") String token);
/*历史列表*/
//我的街道历史列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-history-of-mine")
Observable<CaseListBean> getMineHistoryStreetCaseList(@Query("page") String page, @Header("token") String token);
//我的旗县区历史列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-district-of-mine")
Observable<CaseListBean> getMineHistoryDistrictCaseList(@Query("page") String page, @Header("token") String token);
//我的旗县区委办局历史列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-district-department-of-mine")
Observable<CaseListBean> getMineHistoryDistrictDepartmentCaseList(@Query("page") String page, @Header("token") String token);
//我的市历史列表
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/listpage-city-of-mine")
Observable<CaseListBean> getMineHistoryCityCaseList(@Query("page") String page, @Header("token") String token);
//获取案件详情
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/get/{checkId}")
Observable<CaseDetailBean> getMineCaseDetailById(@Path("checkId") String id, @Header("token") String token);
//街道案件完成
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-street-complete/{checkId}")
Observable<SuccessBean> doCompleteCaseStreet(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//街道案件上级处理
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-street-to-leader/{checkId}")
Observable<SuccessBean> doSuperiorCaseStreet(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区案件回退
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-district-back/{checkId}")
Observable<SuccessBean> doDistrictCaseBack(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区案件完成
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-district-complete/{checkId}")
Observable<SuccessBean> doDistrictCaseComplete(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区案件上报领导
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-district-to-leader/{checkId}")
Observable<SuccessBean> doDistrictCaseToLeader(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区委办局案件回退
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-district-department-back/{checkId}")
Observable<SuccessBean> doDistrictDepartmentCaseBack(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区委办局案件完成
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-district-department-complete/{checkId}")
Observable<SuccessBean> doDistrictDepartmentCaseComplete(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区委办局案件回退
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-city-back/{checkId}")
Observable<SuccessBean> doCityCaseBack(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//旗县区委办局案件完成
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@PUT("check2/update-city-complete/{checkId}")
Observable<SuccessBean> doCityCaseComplete(@Body RequestBody body, @Path("checkId") String checkId, @Header("token") String token);
//获取旗县区领导名单
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("gridpersonnel/list")
Observable<List<DistrictPersonBean>> getDistrictPersonList(@Query("personType") String type, @Header("token") String token);
//案件日志 GET /app/check2/list-check-log/{checkId}
// LogListBean
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("check2/list-check-log/{checkId}")
Observable<List<LogListBean>> getCaseLogList(@Path("checkId") String checkId, @Header("token") String token);
}

BIN
app/src/main/res/drawable-xhdpi/ic_step_line_ver.9.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 955 B

After

Width:  |  Height:  |  Size: 822 B

View File

@ -0,0 +1,188 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="45dp"
android:orientation="vertical"
tools:context=".activitys.base.CatalogActivity">
<!--企业信息-->
<LinearLayout
android:id="@+id/ll_company_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/sp_company_item_box"
android:orientation="vertical"
android:padding="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_user"
android:text="企业名称" />
<TextView
android:id="@+id/tv_name"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
<Button
android:id="@+id/btn_unclaim"
android:layout_width="wrap_content"
android:layout_height="27dp"
android:background="@drawable/sp_blue_sel"
android:text="企业不配合"
android:textColor="@color/titleBar"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_idcard"
android:text="企业法人(负责人)" />
<TextView
android:id="@+id/tv_peo"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_idcard"
android:text="联系电话" />
<TextView
android:id="@+id/tv_phone"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<RelativeLayout
android:id="@+id/rl_desc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/sp_company_item_box">
<TextView
android:id="@+id/tv_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="整改描述:"
android:textColor="@color/black" />
<com.sucstepsoft.txrealtimelocation.widget.StretchyTextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/tv_title"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="5dp" />
</RelativeLayout>
<!--本次检查信息-->
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="horizontal"
android:padding="2dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_catalog"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_marginBottom="2dp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="2dp"
android:layout_marginBottom="2dp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_alignParentBottom="true"
android:background="@color/white">
<Button
android:id="@+id/btn_complete"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/sel_btn_submit"
android:text="处理完成"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_superior"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/sel_btn_submit"
android:text="上级处理"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_go_back"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/sel_btn_submit"
android:text="回退"
android:textColor="@color/white" />
</LinearLayout>
</RelativeLayout>

View File

@ -0,0 +1,152 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activitys.base.CatalogActivity">
<!--企业信息-->
<LinearLayout
android:id="@+id/ll_company_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:background="@drawable/sp_company_item_box"
android:orientation="vertical"
android:padding="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_user"
android:text="企业名称" />
<TextView
android:id="@+id/tv_name"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
<Button
android:id="@+id/btn_unclaim"
android:layout_width="wrap_content"
android:layout_height="27dp"
android:background="@drawable/sp_blue_sel"
android:text="企业不配合"
android:textColor="@color/titleBar"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_idcard"
android:text="企业法人(负责人)" />
<TextView
android:id="@+id/tv_peo"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<TextView
style="@style/company_name_title"
android:drawableLeft="@drawable/ic_item_idcard"
android:text="联系电话" />
<TextView
android:id="@+id/tv_phone"
style="@style/company_content"
tools:text="企业名称企业名称企业名称企业名称企业名称" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<!-- <RelativeLayout-->
<!-- android:id="@+id/rl_desc"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="5dp"-->
<!-- android:background="@drawable/sp_company_item_box">-->
<!-- <TextView-->
<!-- android:id="@+id/tv_title"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="5dp"-->
<!-- android:text="整改描述:"-->
<!-- android:textColor="@color/black" />-->
<!-- <com.sucstepsoft.txrealtimelocation.widget.StretchyTextView-->
<!-- android:id="@+id/tv_content"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_below="@id/tv_title"-->
<!-- android:layout_marginLeft="8dp"-->
<!-- android:layout_marginRight="8dp"-->
<!-- android:layout_marginBottom="5dp" />-->
<!-- </RelativeLayout>-->
<!--本次检查信息-->
<LinearLayout
android:id="@+id/ll_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="horizontal"
android:padding="2dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_catalog"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_marginBottom="2dp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="2dp"
android:layout_marginBottom="2dp" />
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context=".activitys.trouble.CaseLogActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/rlv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.sucstepsoft.cm_utils.core.widget.xtablayout.XTabLayout
android:id="@+id/xtl_tabs"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
app:xTabIndicatorColor="@color/text_blue1"
app:xTabIndicatorHeight="4dp"
app:xTabIndicatorWidth="15dp"
app:xTabMode="scrollable"
app:xTabSelectedTextColor="@color/text_blue1"
app:xTabSelectedTextSize="20sp"
app:xTabTextColor="#000"
app:xTabTextSize="15sp" />
<android.support.v4.view.ViewPager
android:id="@+id/vp_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="10dp" />
</LinearLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/rlv_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layoutManager="LinearLayoutManager"
tools:listitem="@layout/item_company_check" />
</RelativeLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/rlv_items"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layoutManager="LinearLayoutManager"
tools:listitem="@layout/item_company_check" />
</RelativeLayout>

View File

@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal">
<ImageView

View File

@ -0,0 +1,306 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/ic_step_line_ver" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:padding="5dp"
android:textColor="@color/black"
android:textSize="18sp"
tools:text="2018-10-12 22-22-22" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:background="@drawable/shape_rectangle_white_10"
android:elevation="1dp"
android:orientation="vertical"
android:padding="5dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="描述:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_desc"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:paddingLeft="10dp"
android:textColor="@color/red_ff"
android:textSize="12sp"
tools:text="网格员上报案件" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="开始时间:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_start_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:paddingLeft="10dp"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="2021-07-20 11:08:12" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="结束时间:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_end_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/black"
android:textSize="12sp"
android:paddingLeft="10dp"
tools:text="2021-07-20 11:08:12" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="耗时:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_time"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/red_ff"
android:textSize="12sp"
android:paddingLeft="10dp"
tools:text="0小时0分钟15秒" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="3dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".4"
android:gravity="right"
android:text="处理人:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_user"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/black"
android:paddingLeft="10dp"
android:textSize="12sp"
tools:text="张三" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="电话:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_phone"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/black"
android:textSize="12sp"
android:paddingLeft="10dp"
tools:text="133333333333" />
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="处理状态:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_status"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/red_ff"
android:textSize="12sp"
android:paddingLeft="10dp"
tools:text="处理成功" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:id="@+id/ll_explain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="3dp">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".2"
android:gravity="right"
android:text="说明:"
android:textColor="@color/black"
android:textSize="12sp" />
<TextView
android:id="@+id/tv_handle_summary"
android:layout_width="0dp"
android:paddingLeft="10dp"
android:layout_height="wrap_content"
android:layout_weight=".7"
android:textColor="@color/black"
android:textSize="12sp"
tools:text="处理成功" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,236 @@
package com.sucstepsoft.cm_utils.core.beans;
import com.contrarywind.interfaces.IPickerViewData;
import java.util.jar.Attributes;
/**
* 作者: adam
* 日期: 2021/7/19 - 5:55 下午
* 邮箱: itgaojian@163.com
* 描述:
*/
public class DistrictPersonBean implements IPickerViewData {
private String area1;
private String area1Name;
private String area2;
private String area2Name;
private String area3;
private String area3Name;
private String area4;
private String area4Name;
private String area5;
private String area5Name;
private String gridPersonnelId;
private String gridType;
private String industryId;
private String leaderUserId;
private String leaderUserName;
private int level;
private String personType;
private String userBirth;
private String userExplain;
private String userId;
private String userName;
private String userNation;
private String userPhone;
private String userSex;
public String getArea1() {
return area1;
}
public void setArea1(String area1) {
this.area1 = area1;
}
public String getArea1Name() {
return area1Name;
}
public void setArea1Name(String area1Name) {
this.area1Name = area1Name;
}
public String getArea2() {
return area2;
}
public void setArea2(String area2) {
this.area2 = area2;
}
public String getArea2Name() {
return area2Name;
}
public void setArea2Name(String area2Name) {
this.area2Name = area2Name;
}
public String getArea3() {
return area3;
}
public void setArea3(String area3) {
this.area3 = area3;
}
public String getArea3Name() {
return area3Name;
}
public void setArea3Name(String area3Name) {
this.area3Name = area3Name;
}
public String getArea4() {
return area4;
}
public void setArea4(String area4) {
this.area4 = area4;
}
public String getArea4Name() {
return area4Name;
}
public void setArea4Name(String area4Name) {
this.area4Name = area4Name;
}
public String getArea5() {
return area5;
}
public void setArea5(String area5) {
this.area5 = area5;
}
public String getArea5Name() {
return area5Name;
}
public void setArea5Name(String area5Name) {
this.area5Name = area5Name;
}
public String getGridPersonnelId() {
return gridPersonnelId;
}
public void setGridPersonnelId(String gridPersonnelId) {
this.gridPersonnelId = gridPersonnelId;
}
public String getGridType() {
return gridType;
}
public void setGridType(String gridType) {
this.gridType = gridType;
}
public String getIndustryId() {
return industryId;
}
public void setIndustryId(String industryId) {
this.industryId = industryId;
}
public String getLeaderUserId() {
return leaderUserId;
}
public void setLeaderUserId(String leaderUserId) {
this.leaderUserId = leaderUserId;
}
public String getLeaderUserName() {
return leaderUserName;
}
public void setLeaderUserName(String leaderUserName) {
this.leaderUserName = leaderUserName;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public String getPersonType() {
return personType;
}
public void setPersonType(String personType) {
this.personType = personType;
}
public String getUserBirth() {
return userBirth;
}
public void setUserBirth(String userBirth) {
this.userBirth = userBirth;
}
public String getUserExplain() {
return userExplain;
}
public void setUserExplain(String userExplain) {
this.userExplain = userExplain;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserNation() {
return userNation;
}
public void setUserNation(String userNation) {
this.userNation = userNation;
}
public String getUserPhone() {
return userPhone;
}
public void setUserPhone(String userPhone) {
this.userPhone = userPhone;
}
public String getUserSex() {
return userSex;
}
public void setUserSex(String userSex) {
this.userSex = userSex;
}
@Override
public String getPickerViewText() {
return userName;
}
}

View File

@ -10,7 +10,7 @@ import com.sucstepsoft.cm_utils.constant.PathConfig;
public class BaseUrlApi {
// public static final String IP = "http://1.180.60.42:8083/usercenter/";/* 正式IP */
public static final String IP = "http://192.168.0.103:7001/usercenter/";/* 测试IP */
public static final String IP = "http://192.168.0.112:7001/usercenter/";/* 测试IP */
public static final String PROJECT_NAME = "app/";
public static final String BASE_URL = IP + PROJECT_NAME;
public static final String APP_VERSION = BASE_URL + "appCmVersionManagement/getAppVersion";
@ -19,7 +19,7 @@ public class BaseUrlApi {
public static final int PHOTO_REQUEST = 233;
public static final int CAMERA_REQUEST = 123;
// public static final String BASE_IP = "http://1.180.60.42:8083/inspection/";/* 正式IP */
public static final String BASE_IP = "http://192.168.0.103:7006/inspection/";/* 测试IP */
public static final String BASE_IP = "http://192.168.0.112:7006/inspection/";/* 测试IP */
public static final String BASE_IMG_URL = BASE_IP + "route/file/downloadfile/true/";
public static final String SOCKET_IP = "192.168.1.149";

View File

@ -2,18 +2,24 @@ package com.sucstepsoft.cm_utils.core.retrofit_net.api;
import com.sucstepsoft.cm_utils.core.beans.DictionaryBean;
import com.sucstepsoft.cm_utils.core.beans.DistrictPersonBean;
import com.sucstepsoft.cm_utils.core.beans.UploadBean;
import com.sucstepsoft.cm_utils.core.retrofit_net.bean.BaseResponseBean;
import com.sucstepsoft.cm_utils.core.retrofit_net.bean.VersionBean;
import java.util.List;
import io.reactivex.Observable;
import okhttp3.MultipartBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.Query;
/**
* 作者 : Adam on 2018/12/7.
@ -36,4 +42,9 @@ public interface BaseApiService {
@Multipart
@POST("appfile/asyncAploadFileImg")
Observable<BaseResponseBean<UploadBean, Object>> uploadImg(@Part MultipartBody.Part file);
//获取旗县区领导名单
@Headers({"base_url_name:dict", "Content-Type: application/json", "Accept: application/json"})
@GET("gridpersonnel/list")
Observable<List<DistrictPersonBean>> getDistrictPersonList(@Query("personType") String type, @Header("token") String token);
}

View File

@ -0,0 +1,139 @@
package com.sucstepsoft.cm_utils.core.widget.views;
import android.app.Dialog;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.TextView;
import com.sucstepsoft.cm_utils.R;
/**
* 作者 : Adam on 2018/7/23.
* 邮箱 : itgaojian@163.com
* 描述 : 从底部弹出的选择文件的dialog
*/
public class ButtomInputView extends Dialog {
private boolean iscancelable;
private boolean isBackCancelable;
private View view;
private Context context;
private int gravity;
private OnChoseListener mListener;
private boolean mIsShow;
private boolean mIsShowOther;
public EditText mEtText;
private TextView mTvConfirm;
private TextView mTvTitle;
private ButtomInputView(Context context, boolean isCancelable, boolean isBackCancelable, int gravity, boolean isShow, boolean isShowOther) {
super(context, R.style.Dialog_ChoseFile);
this.context = context;
this.gravity = gravity;
this.iscancelable = isCancelable;
this.isBackCancelable = isBackCancelable;
this.mIsShow = isShow;
this.mIsShowOther = isShowOther;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = LayoutInflater.from(context).inflate(R.layout.dialog_input_bottom, null);
setContentView(view);
mEtText = view.findViewById(R.id.et_text);
mTvConfirm = view.findViewById(R.id.tv_confirm);
mTvTitle = view.findViewById(R.id.tv_title);
view.findViewById(R.id.iv_close).setOnClickListener(v -> this.dismiss());
mTvConfirm.setOnClickListener(v -> choseType(1));
setCancelable(iscancelable);
setCanceledOnTouchOutside(isBackCancelable);
Window window = this.getWindow();
window.setGravity(Gravity.BOTTOM);
window.setWindowAnimations(R.style.Dialog_ChoseFile);
WindowManager.LayoutParams params = window.getAttributes();
params.width = WindowManager.LayoutParams.MATCH_PARENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(params);
window.setBackgroundDrawable(new ColorDrawable());
}
public void setTitle(String title) {
mTvTitle.setText(title);
}
public void addOnChoseListener(OnChoseListener listener) {
this.mListener = listener;
}
/**
* 选择
*
* @param i
*/
private void choseType(int i) {
if (mListener != null) {
switch (i) {
case 1:
mListener.choseAlbum();
break;
}
}
}
public interface OnChoseListener {
void choseAlbum();
}
public static class DialogBuilder {
private Context mContext;
private boolean isCancelable;
private boolean mIsBackable;
private int mGravity = Gravity.BOTTOM;
private OnChoseListener mListener;
private boolean mIsShowOther;
public DialogBuilder(Context context) {
this.mContext = context;
}
public DialogBuilder setIscancelable(boolean iscancelable) {
this.isCancelable = iscancelable;
return this;
}
public DialogBuilder setIsBackCancelable(boolean isBackCancelable) {
this.mIsBackable = isBackCancelable;
return this;
}
public DialogBuilder setShowLocation(int gravity) {
this.mGravity = gravity;
return this;
}
private boolean mIsShow;
public DialogBuilder setIsShowFile(boolean isShowFile) {
mIsShow = isShowFile;
return this;
}
public DialogBuilder setIsShowOther(boolean isShow) {
mIsShowOther = isShow;
return this;
}
public ButtomInputView build() {
return new ButtomInputView(this.mContext, this.isCancelable, this.mIsBackable, this.mGravity, mIsShow, mIsShowOther);
}
}
}

View File

@ -0,0 +1,274 @@
package com.sucstepsoft.cm_utils.core.widget.views;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
import com.bigkoo.pickerview.view.OptionsPickerView;
import com.sucstepsoft.cm_utils.R;
import com.sucstepsoft.cm_utils.core.beans.DictionaryBean;
import com.sucstepsoft.cm_utils.core.beans.DistrictPersonBean;
import com.sucstepsoft.cm_utils.core.retrofit_net.RetrofitManager;
import com.sucstepsoft.cm_utils.core.retrofit_net.api.BaseApiService;
import com.sucstepsoft.cm_utils.core.retrofit_net.conver.ExceptionHandler;
import com.sucstepsoft.cm_utils.utils.ToastUtils;
import com.sucstepsoft.cm_utils.utils.UIUtil;
import com.sucstepsoft.cm_utils.utils.UserLgUtils;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* 作者 : Adam on 2018/7/23.
* 邮箱 : itgaojian@163.com
* 描述 : 从底部弹出的选择文件的dialog
*/
public class CenterInputSelView extends Dialog {
private boolean iscancelable;
private boolean isBackCancelable;
private View view;
private Context context;
private int gravity;
private OnChoseListener mListener;
private boolean mIsShow;
private boolean mIsShowOther;
public EditText mEtText;
private TextView mTvConfirm;
private TextView mTvTitle;
public String mSelType;//处理领导类型
public String mSelPersonId;//处理领导ID
private List<DictionaryBean> mTypeBeans = new ArrayList<>();
private TextView mTvPersonType;
private TextView mTvPerson;
private LinearLayout mLlPerson;
private List<DistrictPersonBean> mPersonBeans;
// getDistrictPersonList
private CenterInputSelView(Context context, boolean isCancelable, boolean isBackCancelable, int gravity, boolean isShow, boolean isShowOther) {
super(context, R.style.Dialog_ChoseFile);
this.context = context;
this.gravity = gravity;
this.iscancelable = isCancelable;
this.isBackCancelable = isBackCancelable;
this.mIsShow = isShow;
this.mIsShowOther = isShowOther;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
view = LayoutInflater.from(context).inflate(R.layout.dialog_select_bottom, null);
setContentView(view);
mEtText = view.findViewById(R.id.et_text);
mTvConfirm = view.findViewById(R.id.tv_confirm);
mTvTitle = view.findViewById(R.id.tv_title);
mTvPersonType = view.findViewById(R.id.tv_person_type);
mTvPerson = view.findViewById(R.id.tv_person);
mLlPerson = view.findViewById(R.id.ll_person);
mLlPerson.setVisibility(View.GONE);
mTvPerson.setOnClickListener(v -> showPersonPicker());
mTvPersonType.setOnClickListener(v -> showTypePicker());
mTvConfirm.setOnClickListener(v -> choseType(1));
view.findViewById(R.id.iv_close).setOnClickListener(v -> this.dismiss());
setCancelable(iscancelable);
setCanceledOnTouchOutside(isBackCancelable);
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
Window window = this.getWindow();
window.setGravity(Gravity.CENTER);
window.setWindowAnimations(R.style.Dialog_ChoseFile);
WindowManager.LayoutParams params = window.getAttributes();
params.width = (int) (displayMetrics.widthPixels * 0.9);
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(params);
window.setBackgroundDrawable(new ColorDrawable());
}
public void setTitle(String title) {
mTvTitle.setText(title);
}
public void addOnChoseListener(OnChoseListener listener) {
this.mListener = listener;
}
private void showTypePicker() {
mTypeBeans.clear();
DictionaryBean bean1 = new DictionaryBean();
bean1.setName("直属领导(委办局)");
bean1.setId("districtDepartment");
DictionaryBean bean2 = new DictionaryBean();
bean2.setName("旗县区管理员");
bean2.setId("district");
mTypeBeans.add(bean1);
mTypeBeans.add(bean2);
OptionsPickerView<DictionaryBean> mTypePicker = new OptionsPickerBuilder(context, (options1, options2, options3, v) -> {
DictionaryBean bean = mTypeBeans.get(options1);
mTvPersonType.setText(bean.getName());
mSelType = bean.getId();
if ("district".equals(bean.getId())) {
mLlPerson.setVisibility(View.VISIBLE);
if (mPersonBeans == null || mPersonBeans.size() <= 0) {
//获取数据
getDistrictPersonList();
}
} else {
mLlPerson.setVisibility(View.GONE);
}
}).setTitleText("请选择")
.isDialog(true)
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mTypePicker.setPicker(mTypeBeans);
mTypePicker.show();
}
private void showPersonPicker() {
if (mPersonBeans != null && mPersonBeans.size() > 0) {
OptionsPickerView<DistrictPersonBean> mTypePicker = new OptionsPickerBuilder(context, (options1, options2, options3, v) -> {
DistrictPersonBean bean = mPersonBeans.get(options1);
mTvPerson.setText(bean.getUserName());
mSelPersonId = bean.getUserId();
}).setTitleText("请选择")
.isDialog(true)
.setCancelColor(Color.parseColor("#1189FF"))
.setSubmitColor(Color.parseColor("#1189FF"))
.setTitleColor(Color.parseColor("#1189FF"))
.build();
mTypePicker.setPicker(mPersonBeans);
mTypePicker.show();
} else {
getDistrictPersonList();
}
}
private void getDistrictPersonList() {
ProgressDialog dialog = UIUtil.initDialog(context, "加载中...");
dialog.show();
RetrofitManager.getInstance()
.create(BaseApiService.class)
.getDistrictPersonList("district", UserLgUtils.getToken())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<List<DistrictPersonBean>>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(List<DistrictPersonBean> districtPersonBeans) {
dialog.dismiss();
if (districtPersonBeans != null && districtPersonBeans.size() > 0) {
DistrictPersonBean bean = districtPersonBeans.get(0);
mTvPerson.setText(bean.getUserName());
mSelPersonId = bean.getUserId();
mPersonBeans = districtPersonBeans;
} else {
ToastUtils.showShort("暂无数据");
}
}
@Override
public void onError(Throwable e) {
dialog.dismiss();
ToastUtils.showShort("数据获取失败,请稍后重试.");
}
@Override
public void onComplete() {
}
});
}
/**
* 选择
*
* @param i
*/
private void choseType(int i) {
if (mListener != null) {
switch (i) {
case 1:
mListener.choseAlbum();
break;
}
}
}
public interface OnChoseListener {
void choseAlbum();
}
public static class DialogBuilder {
private Context mContext;
private boolean isCancelable;
private boolean mIsBackable;
private int mGravity = Gravity.BOTTOM;
private OnChoseListener mListener;
private boolean mIsShowOther;
public DialogBuilder(Context context) {
this.mContext = context;
}
public DialogBuilder setIscancelable(boolean iscancelable) {
this.isCancelable = iscancelable;
return this;
}
public DialogBuilder setIsBackCancelable(boolean isBackCancelable) {
this.mIsBackable = isBackCancelable;
return this;
}
public DialogBuilder setShowLocation(int gravity) {
this.mGravity = gravity;
return this;
}
private boolean mIsShow;
public DialogBuilder setIsShowFile(boolean isShowFile) {
mIsShow = isShowFile;
return this;
}
public DialogBuilder setIsShowOther(boolean isShow) {
mIsShowOther = isShow;
return this;
}
public CenterInputSelView build() {
return new CenterInputSelView(this.mContext, this.isCancelable, this.mIsBackable, this.mGravity, mIsShow, mIsShowOther);
}
}
}

View File

@ -139,4 +139,20 @@ public class UserLgUtils {
public static void setIndustryId(String id) {
SPUtils.getInstance(SP_USER_INFO).put("nId", id);
}
/**
* @param type grid 网格员
* street 乡镇街道管理员
* district 旗县区管理员
* districtDepartment 旗县区委办局管理员
* city 市管理员
*/
public static void setPersonType(String type) {
SPUtils.getInstance(SP_USER_INFO).put("personType", type);
}
public static String getPersonType() {
return SPUtils.getInstance(SP_USER_INFO).getString("personType");
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<corners android:radius="5dp" />
</shape>

View File

@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_rectangle_white_ra"
android:orientation="vertical"
android:padding="5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textColor="@color/black"
android:textSize="18sp"
tools:text="处理完成" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/ic_close_gray" />
</RelativeLayout>
<EditText
android:id="@+id/et_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/shape_rectangle_gray_rim"
android:gravity="left"
android:hint="请输入说明"
android:minHeight="100dp"
android:padding="3dp"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/shape_btn_green_sel"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:padding="15dp"
android:text="@string/confirm"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_rectangle_white_ra"
android:orientation="vertical"
android:paddingBottom="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textColor="@color/black"
android:textSize="18sp"
tools:text="处理完成" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:src="@drawable/ic_close_gray" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="处理领导:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_person_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:drawableRight="@drawable/ic_arrow_gray_down"
android:focusable="true"
android:hint="请选择"
android:padding="5dp"
android:textColor="@color/black" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="@color/line_bg_EF" />
<LinearLayout
android:id="@+id/ll_person"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="处理人员:"
android:textColor="@color/black" />
<TextView
android:id="@+id/tv_person"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:drawableRight="@drawable/ic_arrow_gray_down"
android:focusable="true"
android:hint="请选择"
android:padding="5dp"
android:textColor="@color/black" />
</LinearLayout>
<EditText
android:id="@+id/et_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="@drawable/shape_rectangle_gray_rim"
android:gravity="left"
android:hint="请输入说明"
android:minHeight="100dp"
android:padding="3dp"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:background="@drawable/shape_btn_green_sel"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:padding="15dp"
android:text="@string/confirm"
android:textColor="@color/white"
android:textSize="16sp" />
</LinearLayout>

View File

@ -4,6 +4,7 @@
<string name="shoot">&#160;&#160;</string>
<string name="file">&#160;&#160;</string>
<string name="cancel">&#160;&#160;</string>
<string name="confirm">&#160;&#160;</string>
<string name="title_update">&#160;</string>
<string name="update_confirm">立即下载</string>
<string name="empty_data">暂无数据</string>