diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java index b2dd3d4..5c6dc53 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/constant/PathConfig.java @@ -64,34 +64,34 @@ public class PathConfig { //=========================字典ID=================================== public static final String DIC_RELATION = "4c21d91a-d5e1-4cfc-a18a-d63272763cdb";//与户主关系 - // public static final String DIC_CARD_TYPE = "76c5044f-805a-4313-b1e8-79e966b97c0d";//证件类型 - public static final String DIC_CARD_TYPE = "35c6e331-9dd4-425c-be0c-ce570a0a768d";//TODO 证件类型 + public static final String DIC_CARD_TYPE = "76c5044f-805a-4313-b1e8-79e966b97c0d";//证件类型 + // public static final String DIC_CARD_TYPE = "35c6e331-9dd4-425c-be0c-ce570a0a768d";//TODO 证件类型 public static final String DIC_HOUSE_TYPE = "bd3ceeb7-a523-4532-901d-5ab4046ebae3";//住所类型 public static final String DIC_HEALTH = "6152d370-a809-4e32-8af9-e3c5f606e7f1";//健康状况 public static final String DIC_REAR_TYPE = "40660752-9d0f-47fc-834f-5eb8e2668209";//留守人员类型 public static final String DIC_MIGRANT_TYPE = "f05bddd7-4102-4427-ade3-b06728d049a7";//流入原因 public static final String DIC_CASE_TYPE = "e45bbd02-35b3-4f5c-bc2e-ffd924e87abb";//案件类别 - // public static final String DIC_GENDER = "4ef46940-76ab-4758-b5f0-0cbc93ffc660";//性别l - public static final String DIC_GENDER = "52038eeb-9d55-4eaa-b3e3-c70a33bdc135";// TODO 性别 任鹏程 + public static final String DIC_GENDER = "4ef46940-76ab-4758-b5f0-0cbc93ffc660";//性别l + // public static final String DIC_GENDER = "52038eeb-9d55-4eaa-b3e3-c70a33bdc135";// TODO 性别 任鹏程 public static final String DIC_AREA_TYPE = "ba1d92aa-552c-4a45-b376-6ee7e5d33ab9";// TODO 涉及区域类型 任鹏程 public static final String DIC_EXTRUDE = "b356002b-7f51-4dd6-9f22-d517ea8a7671";//TODO 治安突出问题 public static final String DIC_ASSESS = "758de083-4a46-408e-9d37-7c5ab03d956a";//TODO 评估效果 - // public static final String DIC_NATIONALITY = "1c9098f8-155a-453e-8766-51d8df1556b3";//国籍 - public static final String DIC_NATIONALITY = "df4920dd-18eb-4b9a-b334-62c698271f95";//TODO 国籍 - // public static final String DIC_FAITH = "73f3e1fd-02c0-4238-95fe-9e944f2ba6c7";//宗教信仰 - public static final String DIC_FAITH = "bf86a742-0fdf-47f6-8643-4f355a9f59b0";//TODO 宗教信仰 - // public static final String DIC_WORK_TYPE = "5867642c-2b79-4bea-adc9-477a5b784159";//职业类别 - public static final String DIC_WORK_TYPE = "164ee162-9891-4463-bd15-152209dabef7";//TODO 职业类别 - // public static final String DIC_NATION = "a981579c-572b-4fd1-8e76-5d17df97f6a4";//名族 - public static final String DIC_NATION = "a6a9a1b1-651f-42a8-84db-8095041d8a5a";//TODO 名族 - // public static final String DIC_MARRIAGE = "91bdd01b-e9d2-4a2b-98b5-45e25d3cd8ae";//婚姻状况 - public static final String DIC_MARRIAGE = "b96ad71f-a105-428a-95c0-fae6cbc8d976";//TODO 婚姻状况 - // public static final String DIC_POLITICS = "b2c96de0-3df8-41db-99b1-bc4e24ac6c24";//政治面貌 - public static final String DIC_POLITICS = "616350d7-03c0-4b48-861c-ca4d7ed8555f";//TODO 政治面貌 - // public static final String DIC_EDU = "d6b9f026-6ea9-456a-b48b-0c18d502523b";//学历 + public static final String DIC_NATIONALITY = "1c9098f8-155a-453e-8766-51d8df1556b3";//国籍 + // public static final String DIC_NATIONALITY = "df4920dd-18eb-4b9a-b334-62c698271f95";//TODO 国籍 + public static final String DIC_FAITH = "73f3e1fd-02c0-4238-95fe-9e944f2ba6c7";//宗教信仰 + // public static final String DIC_FAITH = "bf86a742-0fdf-47f6-8643-4f355a9f59b0";//TODO 宗教信仰 + public static final String DIC_WORK_TYPE = "5867642c-2b79-4bea-adc9-477a5b784159";//职业类别 + // public static final String DIC_WORK_TYPE = "164ee162-9891-4463-bd15-152209dabef7";//TODO 职业类别 + public static final String DIC_NATION = "a981579c-572b-4fd1-8e76-5d17df97f6a4";//名族 + // public static final String DIC_NATION = "a6a9a1b1-651f-42a8-84db-8095041d8a5a";//TODO 名族 + public static final String DIC_MARRIAGE = "91bdd01b-e9d2-4a2b-98b5-45e25d3cd8ae";//婚姻状况 + // public static final String DIC_MARRIAGE = "b96ad71f-a105-428a-95c0-fae6cbc8d976";//TODO 婚姻状况 + public static final String DIC_POLITICS = "b2c96de0-3df8-41db-99b1-bc4e24ac6c24";//政治面貌 +// public static final String DIC_POLITICS = "616350d7-03c0-4b48-861c-ca4d7ed8555f";//TODO 政治面貌 - public static final String DIC_EDU = "c93682ac-a1a0-4acc-b0bc-828fb86e4b00";//TODO 学历 + public static final String DIC_EDU = "d6b9f026-6ea9-456a-b48b-0c18d502523b";//学历 + // public static final String DIC_EDU = "c93682ac-a1a0-4acc-b0bc-828fb86e4b00";//TODO 学历 public static final String DIC_TREAT = "ed085b3e-25c1-43fe-9d42-77510ee89d58";//治疗情况 public static final String DIC_DIAGNOSE = "c355af47-ee1d-415c-b9d3-66befa6d726b";//目前诊断类型 public static final String DIC_LEVEL = "01626087-e8da-4006-9662-20771d3682ce";//目前评估登记 @@ -150,7 +150,7 @@ public class PathConfig { public static final String USER_TYPE_N = "bc405346-8714-4ded-89ac-9cc4d755f66a"; public static final String USER_TYPE_X = "25affe67-134c-4a32-ba41-64b0cfedc782"; // public static final String APP_VERSION_ID = "f311fd32-cd36-45a1-9652-599d5f2c2d4f";/*正式App下载码*/ - public static final String APP_VERSION_ID = "4f75940c-930f-4576-ae0b-b8f699aa5bdc";/*测试App下载码*/ + public static final String APP_VERSION_ID = "444a0289-65fc-4cbb-9972-c9569c24f42b";/*测试App下载码*/ public static final String NEWS_ID = "f497904b-7727-4832-891c-604c36ae4167";//文化动态ID public static final String NEWS_SHOW_ID = "f1d5d313-f728-4dda-9843-1116d97e17b0";//展览展示ID @@ -474,4 +474,6 @@ public class PathConfig { public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_LIST_ACTIVITY = "/modulesupervision/activity/incidentDeptAcceptList";//事件受理 public static final String PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_DETAIL_ACTIVITY = "/modulesupervision/activity/incidentDeptAcceptDetail";//事件受理详情 + public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_LIST = "/modulesupervision/activity/incidentDeptList";//事件核查 + public static final String PATH_MODULE_SUPERVISION_INCIDENT_CHECK_DETAIL = "/modulesupervision/activity/incidentDeptListDetail";//事件核查详情 } diff --git a/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java b/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java index 08aa8a9..7b313e5 100755 --- a/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java +++ b/baselib/src/main/java/com/tenlionsoft/baselib/core/retrofit_net/BaseUrlApi.java @@ -10,15 +10,15 @@ import com.tenlionsoft.baselib.constant.PathConfig; public class BaseUrlApi { // public static final String IP = "http://192.168.0.109:8080/";/* 正式IP */ - public static final String IP = "http://192.168.0.120:8080/";/* 正式IP */ + public static final String IP = "http://192.168.0.109:8080/";/* 正式IP */ public static final String SYS_USERCENTER = "usercenter/"; public static final String SYS_POPULATION = "population/";/*人口系统*/ public static final String SYS_CASE = "case/";/*事件部件*/ public static final String SYS_HOUSE = "systemhouse/";/*房屋系统*/ public static final String SYS_SECURITY = "systembase/";/*社会治安*/ - public static final String TEMP_IP = "http://192.168.0.120:8080/"; + public static final String TEMP_IP = "http://192.168.0.109:8080/"; - public static final String BASE_MAIN_IP = IP + SYS_CASE; + public static final String BASE_MAIN_IP = IP + SYS_POPULATION; public static final String BASE_CASE_IP = IP + SYS_CASE; public static final String BASE_SECURITY_IP = IP + SYS_SECURITY; public static final String BASE_HOUSE_IP = IP + SYS_HOUSE; diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/IncidentHandleListAdapter.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/IncidentHandleListAdapter.java index 3d6ed9b..af904c8 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/IncidentHandleListAdapter.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/adapters/IncidentHandleListAdapter.java @@ -40,15 +40,15 @@ public class IncidentHandleListAdapter extends BaseRecyclerAdapter getIncidentHandleList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token); /** @@ -851,15 +852,15 @@ public interface Apis { * 保存处理 */ @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) - @POST("app/handle/save") - Observable doSaveHandle(@Body RequestBody body, @Header("token") String token); + @POST("app/taskcompetebase/save-dispatch-handle/{dispatchId}") + Observable doSaveHandle(@Path("dispatchId") String id, @Body RequestBody body, @Header("token") String token); /** * 回退事件 */ @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) - @PUT("app/dispatch/update-rollback") - Observable doRollBack(@Body RequestBody body, @Header("token") String token); + @PUT("app/taskcompetebase/update-dispatch-handle/{dispatchId}") + Observable doRollBack(@Path("dispatchId") String id, @Body RequestBody body, @Header("token") String token); /** * 获取事件处理记录 @@ -868,6 +869,13 @@ public interface Apis { @GET("app/handle/listpage-report/{reportId}") Observable getHandleListByReportId(@Path("reportId") String id, @Query("page") String page, @Header("token") String token); + /** + * 获取事件处理详情 + */ + @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/handle/get/{handleId}") + Observable getHandleDetailByHandleId(@Path("handleId") String id, @Header("token") String token); + /** * 获取事件核查列表 */ diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/DeptApis.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/DeptApis.java index 2f6b437..18362e5 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/DeptApis.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/nets/DeptApis.java @@ -3,6 +3,7 @@ package com.tengshisoft.commonmodule.nets; import com.tengshisoft.commonmodule.adapters.IncidentAcceptListAdapter; import com.tengshisoft.commonmodule.beans.IncidentAcceptListBean; import com.tengshisoft.commonmodule.beans.IncidentDisDeptListBean; +import com.tengshisoft.commonmodule.beans.IncidentHandleListBean; import com.tengshisoft.commonmodule.beans.IncidentListBean; import com.tengshisoft.commonmodule.beans.SuccessBean; @@ -60,4 +61,24 @@ public interface DeptApis { @POST("app/taskcompetebase/save-dispatch/{distributionUserId}") Observable doSaveDistribution(@Path("distributionUserId") String id, @Body RequestBody body, @Header("token") String token); + /** + * 事件核查列表 + */ + @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) + @GET("app/taskbase/listpage-task-dhe") + Observable getIncidentCheckList(@Query("keywords") String key, @Query("page") String page, @Header("token") String token); + + /** + * 事件核查通过 + */ + @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) + @PUT("app/taskcompetebase/update-dispatch-he-pass/{dispatchId}") + Observable doIncidentDeptCheckPass(@Path("dispatchId") String id, @Body RequestBody body, @Header("token") String token); + + /** + * 事件核查不通过 + */ + @Headers({"base_url_name:case", "Content-Type: application/json", "Accept: application/json"}) + @PUT("app/taskcompetebase/update-dispatch-he-pass/{dispatchId}/{handleId}") + Observable doIncidentDeptCheckUnPass(@Path("dispatchId") String id, @Path("handleId") String hId, @Body RequestBody body, @Header("token") String token); } diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleActivity.java index dd284d6..05cb087 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleActivity.java @@ -213,7 +213,7 @@ public class IncidentHandleActivity extends BaseActivity { dialog.show(); RetrofitManager.getInstance() .create(Apis.class) - .doRollBack(requestBody, UserLgUtils.getToken()) + .doRollBack(mDispatchDetailBean.getDispatchId(), requestBody, UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -278,7 +278,7 @@ public class IncidentHandleActivity extends BaseActivity { dialog.show(); RetrofitManager.getInstance() .create(Apis.class) - .doSaveHandle(body, UserLgUtils.getToken()) + .doSaveHandle(mDispatchDetailBean.getDispatchId(), body, UserLgUtils.getToken()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @@ -609,7 +609,7 @@ public class IncidentHandleActivity extends BaseActivity { */ private void setDispatchDetailToView() { mTvDispatchDept.setText(mDispatchDetailBean.getDispatchUserDeptName()); - mTvDispatchState.setText(mDispatchDetailBean.getDispatchState() + ""); + mTvDispatchState.setText(mDispatchDetailBean.getDispathcStateText()); mTvDispatchSummary.setText(mDispatchDetailBean.getDispatchSummary()); mTvDispatchUserName.setText(mDispatchDetailBean.getDispatchUserName()); mTvDispatchTime.setText(mDispatchDetailBean.getDispatchHandleTime()); diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleListActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleListActivity.java index 7ca27fb..325552d 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleListActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentHandleListActivity.java @@ -15,9 +15,7 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.hjq.toast.ToastUtils; import com.scwang.smart.refresh.layout.SmartRefreshLayout; import com.tengshisoft.commonmodule.adapters.IncidentHandleListAdapter; -import com.tengshisoft.commonmodule.adapters.IncidentListAdapter; import com.tengshisoft.commonmodule.beans.IncidentHandleListBean; -import com.tengshisoft.commonmodule.beans.IncidentListBean; import com.tengshisoft.commonmodule.nets.Apis; import com.tengshisoft.gridmodule.R; import com.tengshisoft.gridmodule.R2; @@ -94,7 +92,7 @@ public class IncidentHandleListActivity extends BaseActivity { mSrlContent.setOnRefreshListener(v -> doRefresh()); mSrlContent.setOnLoadMoreListener(v -> doLoadMore()); setStateView(13); - getIncidentList(mCurrentPage); + getIncidentUnHandleList(mCurrentPage); mBtnBaseSearch.setOnClickListener(v -> doSearch()); mIvBaseClear.setOnClickListener(v -> { mKeywords = ""; @@ -110,9 +108,9 @@ public class IncidentHandleListActivity extends BaseActivity { } /** - * 获取片区内的部件列表 + * 获取未处理列表 */ - private void getIncidentList(int currentPage) { + private void getIncidentUnHandleList(int currentPage) { mCurrentPage = currentPage; RetrofitManager.getInstance() .create(Apis.class) @@ -190,14 +188,14 @@ public class IncidentHandleListActivity extends BaseActivity { //加载更多 private void doLoadMore() { - getIncidentList(mCurrentPage); + getIncidentUnHandleList(mCurrentPage); } //刷新 private void doRefresh() { mDatas.clear(); mAdapter.setData(mDatas); - getIncidentList(1); + getIncidentUnHandleList(1); } /** @@ -210,7 +208,7 @@ public class IncidentHandleListActivity extends BaseActivity { setStateView(13); mKeywords = searchContent; mCurrentPage = 1; - getIncidentList(mCurrentPage); + getIncidentUnHandleList(mCurrentPage); } else { ToastUtils.show("请输入要查询的内容"); diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentListActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentListActivity.java index 3270029..97916b9 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentListActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/cases/IncidentListActivity.java @@ -227,6 +227,7 @@ public class IncidentListActivity extends BaseActivity { private void setStateView(int state) { switch (state) { case 12://默认 + case 15: mPbLoading.setVisibility(View.GONE); mSrlContent.setVisibility(View.GONE); mIvEmptyData.setVisibility(View.VISIBLE); @@ -246,13 +247,6 @@ public class IncidentListActivity extends BaseActivity { mIvEmptyData.setVisibility(View.GONE); mTvErrorHint.setVisibility(View.GONE); break; - case 15://搜索完成没有数据 - mPbLoading.setVisibility(View.GONE); - mSrlContent.setVisibility(View.GONE); - mIvEmptyData.setVisibility(View.VISIBLE); - mTvErrorHint.setVisibility(View.VISIBLE); - mTvErrorHint.setText("暂无部件数据"); - break; case 16://搜索失败 mPbLoading.setVisibility(View.GONE); mSrlContent.setVisibility(View.GONE); diff --git a/gridmodule/src/main/res/layout/activity_incident_check_detail.xml b/gridmodule/src/main/res/layout/activity_incident_check_detail.xml index ea0f7cf..f742695 100644 --- a/gridmodule/src/main/res/layout/activity_incident_check_detail.xml +++ b/gridmodule/src/main/res/layout/activity_incident_check_detail.xml @@ -32,7 +32,7 @@ app:cardCornerRadius="5dp" app:cardPreventCornerOverlap="true" app:cardUseCompatPadding="false" - tools:visibility="gone"> + tools:visibility="visible"> mFuncs = new ArrayList<>(); - private String[] mBtnStrs = new String[]{"事件派遣", "下派跟踪", "知识库", "统计分析", "事件受理"}; + private String[] mBtnStrs = new String[]{"事件受理", "事件派遣", "事件核查", "下派跟踪", "知识库", "统计分析"}; private int[] mBtnIds = new int[]{ R.drawable.ic_case_report, R.drawable.ic_case_record, R.drawable.ic_case_dispose, - R.drawable.ic_work_path, R.drawable.ic_case_dispose}; + R.drawable.ic_work_path, + R.drawable.ic_case_dispose, + R.drawable.ic_case_dispose}; private FunctionNumAdapter mNumAdapter; @Override @@ -180,6 +182,11 @@ public class SupervisionMainFragment extends BaseFragment { .build(PathConfig.PATH_MODULE_SUPERVISION_INCIDENT_ACCEPT_LIST_ACTIVITY) .navigation(); break; + case "事件核查": + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_SUPERVISION_INCIDENT_CHECK_LIST) + .navigation(); + break; default: break; } diff --git a/supervisionmodule/src/main/AndroidManifest.xml b/supervisionmodule/src/main/AndroidManifest.xml index a0bb3ee..0ab751f 100644 --- a/supervisionmodule/src/main/AndroidManifest.xml +++ b/supervisionmodule/src/main/AndroidManifest.xml @@ -3,7 +3,9 @@ package="com.tengshisoft.supervisionmodule"> - + + + diff --git a/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDeptListActivity.java b/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDeptListActivity.java new file mode 100644 index 0000000..9fe4916 --- /dev/null +++ b/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDeptListActivity.java @@ -0,0 +1,262 @@ +package com.tengshisoft.supervisionmodule.activitys; + +import android.content.Intent; +import android.text.TextUtils; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; +import com.hjq.toast.ToastUtils; +import com.scwang.smart.refresh.layout.SmartRefreshLayout; +import com.tengshisoft.commonmodule.adapters.IncidentHandleListAdapter; +import com.tengshisoft.commonmodule.beans.IncidentHandleListBean; +import com.tengshisoft.commonmodule.nets.DeptApis; +import com.tengshisoft.supervisionmodule.R; +import com.tengshisoft.supervisionmodule.R2; +import com.tenlionsoft.baselib.constant.PathConfig; +import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; +import com.tenlionsoft.baselib.core.widget.base.BaseActivity; +import com.tenlionsoft.baselib.utils.ExceptionHandler; +import com.tenlionsoft.baselib.utils.UserLgUtils; + +import java.util.ArrayList; +import java.util.List; + +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; + +/** + * 作者: Adam + * 日期: 2021年10月25日10:13:31 + * 邮箱: itgaojian@163.com + * 描述: 部门端---事件核查 + */ +@Route(path = PathConfig.PATH_MODULE_SUPERVISION_INCIDENT_CHECK_LIST) +public class IncidentCheckDeptListActivity extends BaseActivity { + + + @BindView(R2.id.et_base_search_content) + EditText mEtBaseSearchContent; + @BindView(R2.id.iv_base_clear) + ImageView mIvBaseClear; + @BindView(R2.id.btn_base_search) + Button mBtnBaseSearch; + @BindView(R2.id.ll_base_search_content) + LinearLayout mLlBaseSearchContent; + @BindView(R2.id.rlv_components) + RecyclerView mRlvComponents; + @BindView(R2.id.srl_content) + SmartRefreshLayout mSrlContent; + @BindView(R2.id.pb_loading) + ProgressBar mPbLoading; + @BindView(R2.id.iv_empty_data) + ImageView mIvEmptyData; + @BindView(R2.id.tv_error_hint) + TextView mTvErrorHint; + private Unbinder mBind; + private List mDatas; + private IncidentHandleListAdapter mAdapter; + private int mCurrentPage = 1; + private String mKeywords = ""; + + @Override + protected int setLayoutId() { + return R.layout.activity_incident_check_dept_list; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mTvBaseTitle.setText("事件核查"); + mEtBaseSearchContent.setHint("请输入事件编码(分类名称)"); + refreshView(STATE_LOAD_SUCCESS); + mDatas = new ArrayList<>(); + mAdapter = new IncidentHandleListAdapter(mActivity, mDatas); + mRlvComponents.setLayoutManager(new LinearLayoutManager(mActivity)); + mRlvComponents.setAdapter(mAdapter); + mSrlContent.setOnRefreshListener(v -> doRefresh()); + mSrlContent.setOnLoadMoreListener(v -> doLoadMore()); + setStateView(13); + getIncidentCheckList(mCurrentPage); + mBtnBaseSearch.setOnClickListener(v -> doSearch()); + mIvBaseClear.setOnClickListener(v -> { + mKeywords = ""; + mEtBaseSearchContent.setText(""); + doRefresh(); + }); + mAdapter.addOnItemClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_SUPERVISION_INCIDENT_CHECK_DETAIL) + .withString("reportId", v.getReportId()) + .withString("taskId", v.getTaskId()) + .withString("handleId", v.getHandleId()) + .withString("dispatchId", v.getDispatchId()) + .navigation(mActivity, 12)); + } + + /** + * 获取待派遣的事件 + */ + private void getIncidentCheckList(int currentPage) { + mCurrentPage = currentPage; + RetrofitManager.getInstance() + .create(DeptApis.class) + .getIncidentCheckList(mKeywords, mCurrentPage + "", UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull IncidentHandleListBean communityListBean) { + if (communityListBean.getRows() != null && communityListBean.getRows().size() > 0) { + ++mCurrentPage; + if (currentPage == 1) { + mDatas.clear(); + mDatas.addAll(communityListBean.getRows()); + } else { + mDatas.addAll(communityListBean.getRows()); + } + setStateView(14); + mAdapter.notifyDataSetChanged(); + mSrlContent.finishRefresh(); + if (mDatas.size() >= communityListBean.getTotal()) { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(true); + } else { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(false); + } + } else { + if (currentPage > 1) { + mSrlContent.finishLoadMore(); + mSrlContent.setNoMoreData(true); + setStateView(14); + } else { + if (TextUtils.isEmpty(mKeywords)) { + //无数据 + setStateView(15); + } else { + setStateView(15); + ToastUtils.show("未查询到相关内容"); + } + } + } + } + + @Override + public void onError(@NonNull Throwable e) { + mSrlContent.finishLoadMore(); + mSrlContent.finishRefresh(); + ExceptionHandler.handleException(e); + setStateView(16); + } + + @Override + public void onComplete() { + + } + }); + + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 12) { + if (resultCode == 13) { + doRefresh(); + } + } + } + + //加载更多 + private void doLoadMore() { + getIncidentCheckList(mCurrentPage); + } + + //刷新 + private void doRefresh() { + mDatas.clear(); + mAdapter.setData(mDatas); + getIncidentCheckList(1); + } + + /** + * + */ + private void doSearch() { + String searchContent = mEtBaseSearchContent.getText().toString().trim(); + if (!TextUtils.isEmpty(searchContent)) { + hideSoftKeyboard(); + setStateView(13); + mKeywords = searchContent; + mCurrentPage = 1; + getIncidentCheckList(mCurrentPage); + + } else { + ToastUtils.show("请输入要查询的内容"); + } + } + + + /** + * 根据状态显示 + * 12 默认 + * 13 搜索中 + * 14 搜索完成有数据 + * 15 搜索完成没有数据 + * 16 搜索失败 + * + * @param state + */ + private void setStateView(int state) { + switch (state) { + case 12://默认 + case 15://默认 + mPbLoading.setVisibility(View.GONE); + mSrlContent.setVisibility(View.GONE); + mIvEmptyData.setVisibility(View.VISIBLE); + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("暂无数据"); + break; + case 13://搜索中 + mPbLoading.setVisibility(View.VISIBLE); + mSrlContent.setVisibility(View.GONE); + mIvEmptyData.setVisibility(View.GONE); + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("加载中..."); + break; + case 14://搜索完成有数据 + mPbLoading.setVisibility(View.GONE); + mSrlContent.setVisibility(View.VISIBLE); + mIvEmptyData.setVisibility(View.GONE); + mTvErrorHint.setVisibility(View.GONE); + break; + case 16://搜索失败 + mPbLoading.setVisibility(View.GONE); + mSrlContent.setVisibility(View.GONE); + mIvEmptyData.setVisibility(View.VISIBLE); + mTvErrorHint.setVisibility(View.VISIBLE); + mTvErrorHint.setText("加载失败,请稍后重试"); + break; + } + } +} \ No newline at end of file diff --git a/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDetailActivity.java b/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDetailActivity.java new file mode 100644 index 0000000..ff70921 --- /dev/null +++ b/supervisionmodule/src/main/java/com/tengshisoft/supervisionmodule/activitys/IncidentCheckDetailActivity.java @@ -0,0 +1,459 @@ +package com.tengshisoft.supervisionmodule.activitys; + +import android.annotation.SuppressLint; +import android.app.ProgressDialog; +import android.graphics.drawable.AnimationDrawable; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.ZoomControls; + +import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; +import com.baidu.mapapi.map.BaiduMap; +import com.baidu.mapapi.map.BitmapDescriptor; +import com.baidu.mapapi.map.BitmapDescriptorFactory; +import com.baidu.mapapi.map.MapStatus; +import com.baidu.mapapi.map.MapStatusUpdate; +import com.baidu.mapapi.map.MapStatusUpdateFactory; +import com.baidu.mapapi.map.MarkerOptions; +import com.baidu.mapapi.map.TextureMapView; +import com.baidu.mapapi.model.LatLng; +import com.google.gson.Gson; +import com.hjq.toast.ToastUtils; +import com.scwang.smart.refresh.layout.SmartRefreshLayout; +import com.tengshisoft.commonmodule.beans.AcceptSaveBean; +import com.tengshisoft.commonmodule.beans.DispatchDetailBean; +import com.tengshisoft.commonmodule.beans.IncidentDetailBean; +import com.tengshisoft.commonmodule.beans.IncidentHandleDetailBean; +import com.tengshisoft.commonmodule.beans.SuccessBean; +import com.tengshisoft.commonmodule.nets.Apis; +import com.tengshisoft.commonmodule.nets.DeptApis; +import com.tengshisoft.supervisionmodule.R; +import com.tengshisoft.supervisionmodule.R2; +import com.tenlionsoft.baselib.constant.PathConfig; +import com.tenlionsoft.baselib.core.retrofit_net.BaseUrlApi; +import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; +import com.tenlionsoft.baselib.core.widget.base.BaseActivity; +import com.tenlionsoft.baselib.core.widget.base.BaseShowPhotoAdapter; +import com.tenlionsoft.baselib.core.widget.videorecord.MediaManager; +import com.tenlionsoft.baselib.utils.ExceptionHandler; +import com.tenlionsoft.baselib.utils.UIUtil; +import com.tenlionsoft.baselib.utils.UserLgUtils; + +import java.util.ArrayList; + +import androidx.annotation.NonNull; +import androidx.appcompat.widget.SwitchCompat; +import androidx.cardview.widget.CardView; +import androidx.core.widget.NestedScrollView; +import androidx.recyclerview.widget.GridLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.Unbinder; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import okhttp3.MediaType; +import okhttp3.RequestBody; + +/** + * 作者: Adam + * 日期: 2021年10月25日10:20:20 + * 邮箱: itgaojian@163.com + * 描述: 部门端---事件核查详情 + */ +@Route(path = PathConfig.PATH_MODULE_SUPERVISION_INCIDENT_CHECK_DETAIL) +public class IncidentCheckDetailActivity extends BaseActivity { + + @BindView(R2.id.tv_issue_base_info) + TextView mTvIssueBaseInfo; + @BindView(R2.id.tv_grid) + TextView mTvGrid; + @BindView(R2.id.tv_component) + TextView mTvComponent; + @BindView(R2.id.tv_type) + TextView mTvType; + @BindView(R2.id.sw_is_self) + SwitchCompat mSwIsSelf; + @BindView(R2.id.tv_area_5) + TextView mTvArea5; + @BindView(R2.id.tv_address) + TextView mTvAddress; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; + @BindView(R2.id.tv_issue_detail_info) + TextView mTvIssueDetailInfo; + @BindView(R2.id.tv_content) + TextView mTvContent; + @BindView(R2.id.rlv_photos) + RecyclerView mRlvPhotos; + @BindView(R2.id.tv_photo_hint) + TextView mTvPhotoHint; + @BindView(R2.id.iv_play_video) + ImageView mIvPlayVideo; + @BindView(R2.id.ll_video) + LinearLayout mLlVideo; + @BindView(R2.id.tv_video_hint) + TextView mTvVideoHint; + @BindView(R2.id.tv_voice) + TextView mTvVoice; + @BindView(R2.id.tv_voice_anim) + TextView mTvVoiceAnim; + @BindView(R2.id.ll_voice) + LinearLayout mLlVoice; + @BindView(R2.id.tv_handle_summary) + TextView mTvHandleSummary; + @BindView(R2.id.rlv_handle_photo) + RecyclerView mRlvHandlePhoto; + @BindView(R2.id.cv_handle) + CardView mCvHandle; + @BindView(R2.id.nsv_content) + NestedScrollView mNsvContent; + @BindView(R2.id.srl_content) + SmartRefreshLayout mSrlContent; + @BindView(R2.id.et_summary) + EditText mEtSummary; + @BindView(R2.id.btn_confirm) + Button mBtnConfirm; + @BindView(R2.id.btn_roll_back) + Button mBtnRollBack; + private Unbinder mBind; + private IncidentDetailBean mIncidentDetailBean; + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; + private String mReportId; + private String mTaskId; + private String mHandleId; + private IncidentHandleDetailBean mHandleDetail; + private String mDispatchId; + + @Override + protected int setLayoutId() { + return R.layout.activity_incident_check_dept_detail; + } + + @Override + public void initData() { + mBind = ButterKnife.bind(this); + mReportId = getIntent().getStringExtra("reportId"); + mTaskId = getIntent().getStringExtra("taskId"); + mHandleId = getIntent().getStringExtra("handleId"); + mDispatchId = getIntent().getStringExtra("dispatchId"); + mSrlContent.setEnableRefresh(false); + mSrlContent.setEnableLoadMore(false); + initMap(); + getDetailData(); + mBtnConfirm.setOnClickListener(v -> doConfirm()); + mBtnRollBack.setOnClickListener(v -> doRollBack()); + } + + /** + * 处理不合格 + */ + private void doRollBack() { + if (checkParams()) { + RequestBody body = buildParams(); + ProgressDialog dialog = UIUtil.initDialog(mActivity, "处理中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(DeptApis.class) + .doIncidentDeptCheckUnPass(mDispatchId, mHandleId, body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) { + + } + + @Override + public void onNext(@io.reactivex.rxjava3.annotations.NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("处理成功"); + setResult(13); + finish(); + } + + @Override + public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + } + + /** + * 提交 + */ + private void doConfirm() { + if (checkParams()) { + RequestBody body = buildParams(); + ProgressDialog dialog = UIUtil.initDialog(mActivity, "处理中..."); + dialog.show(); + RetrofitManager.getInstance() + .create(DeptApis.class) + .doIncidentDeptCheckPass(mDispatchId, body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) { + + } + + @Override + public void onNext(@io.reactivex.rxjava3.annotations.NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("处理成功"); + setResult(13); + finish(); + } + + @Override + public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } + + @Override + public void onComplete() { + + } + }); + } + } + + /** + * 校验参数 + */ + private boolean checkParams() { + String summary = mEtSummary.getText().toString().trim(); + if (TextUtils.isEmpty(summary)) { + ToastUtils.show("请输入核查描述"); + return false; + } + return true; + } + + /** + * 构建参数 + */ + private RequestBody buildParams() { + AcceptSaveBean bean = new AcceptSaveBean(); + bean.setTaskId(mTaskId); + String content = mEtSummary.getText().toString().trim(); + bean.setSummary(content); + Gson gson = new Gson(); + String obj = gson.toJson(bean); + RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); + return requestBody; + } + + /** + * 获取详情 + */ + private void getDetailData() { + Observable dispatch = RetrofitManager.getInstance().create(Apis.class).getHandleDetailByHandleId(mHandleId, UserLgUtils.getToken()); + Observable incidentDetail = RetrofitManager.getInstance().create(Apis.class).getIncidentDetailById(mReportId, UserLgUtils.getToken()); + Observable.merge(dispatch, incidentDetail) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + + } + + @Override + public void onNext(@NonNull Object o) { + if (o instanceof IncidentHandleDetailBean) { + mHandleDetail = (IncidentHandleDetailBean) o; + setHandleDetail(); + } else if (o instanceof IncidentDetailBean) { + mIncidentDetailBean = (IncidentDetailBean) o; + setIncidentDetailToView(); + } + refreshView(STATE_LOAD_SUCCESS); + } + + @Override + public void onError(@NonNull Throwable e) { + ExceptionHandler.handleException(e); + refreshView(STATE_LOAD_ERROR); + } + + @Override + public void onComplete() { + + } + }); + + } + + /** + * 回显处理信息 + */ + private void setHandleDetail() { + mTvHandleSummary.setText(mHandleDetail.getHandleSummary()); + if (!TextUtils.isEmpty(mHandleDetail.getHandlePhotos())) { + String[] doorIds = mHandleDetail.getHandlePhotos().split(","); + ArrayList paths = new ArrayList<>(); + BaseShowPhotoAdapter mAdapter = new BaseShowPhotoAdapter(mActivity, paths); + mRlvHandlePhoto.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvHandlePhoto.setAdapter(mAdapter); + mAdapter.setOnItemClickListener((data, pos) -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList("imgUrls", paths) + .withInt("curItem", pos) + .navigation()); + for (String doorId : doorIds) { + if (!TextUtils.isEmpty(doorId)) { + paths.add(BaseUrlApi.BASE_IMG_URL + doorId); + } + } + mAdapter.setData(paths); + } + } + + /** + * 回显事件信息 + */ + private void setIncidentDetailToView() { + mTvGrid.setText(mIncidentDetailBean.getBGId()); + mTvComponent.setText(mIncidentDetailBean.getCasePartsObjName()); + mTvType.setText(mIncidentDetailBean.getCaseTypeName1() + "/" + mIncidentDetailBean.getCaseTypeName2()); + if (mIncidentDetailBean.getIsSelf() == 0) { + mSwIsSelf.setChecked(false); + } else { + mSwIsSelf.setChecked(true); + } + mTvArea5.setText(mIncidentDetailBean.getReportAreaName()); + mTvAddress.setText(mIncidentDetailBean.getReportAddress()); + mTvContent.setText(mIncidentDetailBean.getReportContent()); + double lat = Double.parseDouble(mIncidentDetailBean.getReportLat()); + double lng = Double.parseDouble(mIncidentDetailBean.getReportLng()); + + moveMapToCenter(new LatLng(lat, lng), 18); + if (mBitMap == null) { + mBitMap = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_location_marker); + } + MarkerOptions markerOptions = new MarkerOptions() + .position(new LatLng(lat, lng))//mark出现的位置 + .icon(mBitMap) //mark图标 + .draggable(false)//mark可拖拽 + .animateType(MarkerOptions.MarkerAnimateType.none); + mBaiduMap.addOverlay(markerOptions); + if (!TextUtils.isEmpty(mIncidentDetailBean.getReportPhotos())) { + //有图片 + mTvPhotoHint.setVisibility(View.GONE); + mRlvPhotos.setVisibility(View.VISIBLE); + + mRlvPhotos.setVisibility(View.VISIBLE); + mTvPhotoHint.setVisibility(View.GONE); + String[] doorIds = mIncidentDetailBean.getReportPhotos().split(","); + ArrayList paths = new ArrayList<>(); + BaseShowPhotoAdapter mAdapter = new BaseShowPhotoAdapter(mActivity, paths); + mRlvPhotos.setLayoutManager(new GridLayoutManager(mActivity, 4)); + mRlvPhotos.setAdapter(mAdapter); + mAdapter.setOnItemClickListener((data, pos) -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_BASELIB_SHOW_IMG) + .withStringArrayList("imgUrls", paths) + .withInt("curItem", pos) + .navigation()); + for (String doorId : doorIds) { + if (!TextUtils.isEmpty(doorId)) { + paths.add(BaseUrlApi.BASE_IMG_URL + doorId); + } + } + mAdapter.setData(paths); + } else { + //没有图片 + mTvPhotoHint.setVisibility(View.VISIBLE); + mRlvPhotos.setVisibility(View.GONE); + } + + if (!TextUtils.isEmpty(mIncidentDetailBean.getReportVideo())) { + //有视频 + mLlVideo.setVisibility(View.VISIBLE); + mTvVideoHint.setVisibility(View.GONE); + mLlVideo.setOnClickListener(v -> //播放视频 + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_PLAYER_SIMPLE_VIDEO) + .withString("url", BaseUrlApi.BASE_IMG_URL + mIncidentDetailBean.getReportVideo()) + .withString("title", "事件视频") + .navigation()); + } else { + //没有视频 + mLlVideo.setVisibility(View.GONE); + mTvVideoHint.setVisibility(View.VISIBLE); + } + if (!TextUtils.isEmpty(mIncidentDetailBean.getReportAudio())) { + Drawable drawable = getResources().getDrawable(R.drawable.anim_yuyin_sign); + mTvVoiceAnim.setCompoundDrawables(drawable, null, null, null); + String path = BaseUrlApi.BASE_IMG_URL + mIncidentDetailBean.getReportAudio(); + mLlVoice.setOnClickListener(v -> { + if (!TextUtils.isEmpty(path)) { + AnimationDrawable animationDrawable = (AnimationDrawable) mTvVoiceAnim.getBackground(); + animationDrawable.start(); + MediaManager.playSound(path, + mp -> { + animationDrawable.selectDrawable(0);//显示动画第一帧 + animationDrawable.stop(); + MediaManager.destroy(); + }); + } + }); + } else { + mTvVoiceAnim.setHint("未录入"); + } + } + + /** + * 将地图移动到定位中心 + * + * @param latLng + */ + private void moveMapToCenter(LatLng latLng, int room) { + MapStatus ms = new MapStatus.Builder().zoom(room).target(latLng).build(); + MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); + mBaiduMap.setMapStatus(u); + } + + @SuppressLint("ClickableViewAccessibility") + private void initMap() { + mTmvMap.showZoomControls(false);//缩放控件 + mTmvMap.showScaleControl(false);//比例尺 + mBaiduMap = mTmvMap.getMap(); + mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL); + mBaiduMap.setMyLocationEnabled(true); + View childAt = mTmvMap.getChildAt(1); + if (childAt != null && (childAt instanceof ImageView || childAt instanceof ZoomControls)) { + childAt.setVisibility(View.INVISIBLE); + } + mTmvMap.getChildAt(0).setOnTouchListener((View v, MotionEvent event) -> { + if (event.getAction() == MotionEvent.ACTION_UP) { + mNsvContent.requestDisallowInterceptTouchEvent(false); + } else { + mNsvContent.requestDisallowInterceptTouchEvent(true); + } + return false; + }); + moveMapToCenter(new LatLng(PathConfig.LA, PathConfig.LO), 14); + } +} \ No newline at end of file diff --git a/supervisionmodule/src/main/res/layout/activity_incident_check_dept_detail.xml b/supervisionmodule/src/main/res/layout/activity_incident_check_dept_detail.xml new file mode 100644 index 0000000..3aaebbe --- /dev/null +++ b/supervisionmodule/src/main/res/layout/activity_incident_check_dept_detail.xml @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +