diff --git a/README.md b/README.md new file mode 100644 index 0000000..9f2c361 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# 修改记录 + +### 2022-2-10 +> 1 学校重点人员添加网格信息 添加经纬度信息 +> 2 学校涉及案件添加网格、经纬度信息 \ No newline at end of file diff --git a/app/release/app-release.apk b/app/release/app-release.apk index 8ba355c..c71cf48 100644 Binary files a/app/release/app-release.apk and b/app/release/app-release.apk differ diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index c7a25a3..c7d2471 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -10,8 +10,8 @@ { "type": "SINGLE", "filters": [], - "versionCode": 3, - "versionName": "1.0.2", + "versionCode": 5, + "versionName": "1.0.4", "outputFile": "app-release.apk" } ] 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 4c0dbc0..458a568 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 @@ -7,8 +7,8 @@ package com.tenlionsoft.baselib.core.retrofit_net; */ public class BaseUrlApi { - // public static final String IP = "http://192.168.0.155:7011/";/* 测试IP */ - // public static final String IP = "http://49.233.36.36:58091/";/* 测试IP */ + // public static final String IP = "http://192.168.0.155:7011/";/* 测试IP */ +// public static final String IP = "http://49.233.36.36:58091/";/* 测试IP */ public static final String IP = "http://1.24.238.149:37210/";/* 正式IP */ public static final String SYS_USERCENTER = "usercenter/"; public static final String SYS_POPULATION = "population/";/*人口系统*/ @@ -32,7 +32,7 @@ public class BaseUrlApi { public static final String SOCKET_IP = IP + "websocket";/* SocketIP */ // public static final String SOCKET_IP = "http://192.168.0.155:8081/websocket";/*SocketIP*/ // public static final String SOCKET_IP = "http://49.233.36.36:58092/websocket";/*SocketIP*/ - // public static final String BASE_SECURITY_IP = "http://192.168.0.111:8081/systembase/"; +// public static final String BASE_SECURITY_IP = "http://192.168.0.111:8081/systembase/"; // public static final String BASE_CASE_IP = "http://192.168.0.120:8080/" + SYS_CASE; // public static final String BASE_HOUSE_IP = "http://192.168.0.111:8083/systemhouse/";/*测试*/ // public static final String BASE_PERSON_IP = "http://1.24.238.149:37210/" + SYS_POPULATION;/*测试*/ @@ -58,8 +58,8 @@ public class BaseUrlApi { // public static final String APP_VERSION_ID = "c16826e7-8cfb-4db1-8844-09d2be697bc7";/* 155 测试App下载码*/ public static final String APP_VERSION_ID = "2f384d5c-419d-47a2-94cb-4a05b6f00936";/*正式App下载码*/ /*百度定位city-code*/ - public static final String CITY_BAIDU_CODE = "168";//乌兰察布市 -// public static final String CITY_BAIDU_CODE = "321";//呼和浩特市 +// public static final String CITY_BAIDU_CODE = "168";//乌兰察布市 + public static final String CITY_BAIDU_CODE = "321";//呼和浩特市 public static final String APP_DOWNLOAD_URL = BASE_URL + "app/appversion/download/" + APP_VERSION_ID; diff --git a/build.gradle b/build.gradle index c946b78..d34ef27 100644 --- a/build.gradle +++ b/build.gradle @@ -55,8 +55,8 @@ ext { gCompileSdkVersion = 30 gMinSdkVersion = 21 gTargetSdkVersion = 30 - gVersionCode = 3 - gVersionName = '1.0.2' + gVersionCode = 5 + gVersionName = '1.0.4' gBuildToolsVersion = "29.0.2" // gVersionCode=26 // gVersionName='1.3.0' diff --git a/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/AddressUserDetailActivity.java b/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/AddressUserDetailActivity.java index 2569ac3..58fcaaa 100644 --- a/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/AddressUserDetailActivity.java +++ b/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/AddressUserDetailActivity.java @@ -38,7 +38,6 @@ import com.tengshisoft.chatmodule.hwclud.ui.DialogUtil; import com.tengshisoft.chatmodule.hwclud.ui.FullScreenDialog; import com.tengshisoft.chatmodule.hwclud.utils.AppUtil; import com.tengshisoft.chatmodule.hwclud.utils.Constant; -import com.tengshisoft.chatmodule.hwclud.utils.LogUtil; import com.tengshisoft.chatmodule.hwclud.utils.NetUtil; import com.tengshisoft.chatmodule.sockets.MsgTypeStateEnum; import com.tenlionsoft.baselib.app.BaseAppContext; @@ -244,7 +243,7 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView //发送让对方登录的广播 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { mClickTime = System.currentTimeMillis(); - LoginMangerV2.getInstance().checkLogin("zh-1", "hc123456@", AddressUserDetailActivity.this); + LoginMangerV2.getInstance().checkLogin("zh-1", "Huawei@12345", AddressUserDetailActivity.this); mVoiceTime = System.currentTimeMillis(); isVideoCall = false; } @@ -262,7 +261,7 @@ public class AddressUserDetailActivity extends BaseActivity implements LoginView if (Math.abs(mClickTime - System.currentTimeMillis()) > 3000) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { mClickTime = System.currentTimeMillis(); - LoginMangerV2.getInstance().checkLogin("zh-1", "hc123456@", AddressUserDetailActivity.this); + LoginMangerV2.getInstance().checkLogin("zh-1", "Huawei@12345", AddressUserDetailActivity.this); mVideoTime = System.currentTimeMillis(); isVideoCall = true; } diff --git a/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/ChatActivity.java b/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/ChatActivity.java index 9806265..1be65a2 100644 --- a/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/ChatActivity.java +++ b/chatmodule/src/main/java/com/tengshisoft/chatmodule/activity/ChatActivity.java @@ -414,7 +414,7 @@ public class ChatActivity extends BaseActivity implements LoginView, LocalBroadc if (Math.abs(mClickTime - System.currentTimeMillis()) > 3000) { //发送让对方登录的广播 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - LoginMangerV2.getInstance().checkLogin("zh-1", "hc123456@", ChatActivity.this); + LoginMangerV2.getInstance().checkLogin("zh-1", "Huawei@12345", ChatActivity.this); mVoiceTime = System.currentTimeMillis(); isVideoCall = false; } @@ -431,7 +431,7 @@ public class ChatActivity extends BaseActivity implements LoginView, LocalBroadc if (AppUtils.isSupportCall()) { if (Math.abs(mClickTime - System.currentTimeMillis()) > 3000) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - LoginMangerV2.getInstance().checkLogin("zh-1", "hc123456@", ChatActivity.this); + LoginMangerV2.getInstance().checkLogin("zh-1", "Huawei@12345", ChatActivity.this); mVideoTime = System.currentTimeMillis(); isVideoCall = true; } diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveEmphasesBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveEmphasesBean.java index 7d7d4de..4a4130c 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveEmphasesBean.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveEmphasesBean.java @@ -14,6 +14,52 @@ public class SaveEmphasesBean { private String degreeOfHarmName; private int isFollow; private String schoolId; + private String location; + private String locationCode; + private String grid; + private String longitude; + private String latitude; + + + public String getLongitude() { + return longitude; + } + + public void setLongitude(String longitude) { + this.longitude = longitude; + } + + public String getLatitude() { + return latitude; + } + + public void setLatitude(String latitude) { + this.latitude = latitude; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getLocationCode() { + return locationCode; + } + + public void setLocationCode(String locationCode) { + this.locationCode = locationCode; + } + + public String getGrid() { + return grid; + } + + public void setGrid(String grid) { + this.grid = grid; + } public String getBaseId() { return baseId; diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveSchoolCaseBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveSchoolCaseBean.java index 2b2d15f..e8eceb6 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveSchoolCaseBean.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SaveSchoolCaseBean.java @@ -30,6 +30,33 @@ public class SaveSchoolCaseBean { private String principalCardNum; private String principalName; private String schoolId; + private String grid; + private String longitude; + private String latitude; + + public String getGrid() { + return grid; + } + + public void setGrid(String grid) { + this.grid = grid; + } + + public String getLongitude() { + return longitude; + } + + public void setLongitude(String longitude) { + this.longitude = longitude; + } + + public String getLatitude() { + return latitude; + } + + public void setLatitude(String latitude) { + this.latitude = latitude; + } public int getArrestCount() { return arrestCount; diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolCaseDetailBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolCaseDetailBean.java index 5204cf8..dfbbce4 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolCaseDetailBean.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolCaseDetailBean.java @@ -31,6 +31,44 @@ public class SchoolCaseDetailBean { private String principalName; private String schoolId; private String stuTeaSafeId; + private String gridName; + private String grid; + private String latitude; + private String longitude; + + + public String getGrid() { + return grid; + } + + public void setGrid(String grid) { + this.grid = grid; + } + + public String getGridName() { + return gridName; + } + + public void setGridName(String gridName) { + this.gridName = gridName; + } + + + public String getLatitude() { + return latitude; + } + + public void setLatitude(String latitude) { + this.latitude = latitude; + } + + public String getLongitude() { + return longitude; + } + + public void setLongitude(String longitude) { + this.longitude = longitude; + } public int getArrestCount() { return arrestCount; diff --git a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolEmphasesPersonDetailBean.java b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolEmphasesPersonDetailBean.java index f7b826d..a097732 100644 --- a/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolEmphasesPersonDetailBean.java +++ b/commonmodule/src/main/java/com/tengshisoft/commonmodule/beans/SchoolEmphasesPersonDetailBean.java @@ -12,7 +12,13 @@ public class SchoolEmphasesPersonDetailBean { private String degreeOfHarm; private String degreeOfHarmCode; private String degreeOfHarmName; + private String grid; + private String gridName; private int isFollow; + private String latitude; + private String location; + private String locationCode; + private String longitude; private String schoolId; private String schoolKeyId; @@ -48,6 +54,22 @@ public class SchoolEmphasesPersonDetailBean { this.degreeOfHarmName = degreeOfHarmName; } + public String getGrid() { + return grid; + } + + public void setGrid(String grid) { + this.grid = grid; + } + + public String getGridName() { + return gridName; + } + + public void setGridName(String gridName) { + this.gridName = gridName; + } + public int getIsFollow() { return isFollow; } @@ -56,6 +78,38 @@ public class SchoolEmphasesPersonDetailBean { this.isFollow = isFollow; } + public String getLatitude() { + return latitude; + } + + public void setLatitude(String latitude) { + this.latitude = latitude; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public String getLocationCode() { + return locationCode; + } + + public void setLocationCode(String locationCode) { + this.locationCode = locationCode; + } + + public String getLongitude() { + return longitude; + } + + public void setLongitude(String longitude) { + this.longitude = longitude; + } + public String getSchoolId() { return schoolId; } diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/building/CommunityEditActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/building/CommunityEditActivity.java index a75ba2f..c0dc853 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/building/CommunityEditActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/building/CommunityEditActivity.java @@ -116,12 +116,13 @@ public class CommunityEditActivity extends BaseActivity { private String mSelAreaId; private String mSelAreaNames; private AreaGridListBean.RowsBean mSelGridBean; + private double mLat; + private double mLng; + private String mSelCommunityName; private String mSelCommunityId; private CommunityDetailBean mDetailBean; private String mId; - private double mLat; - private double mLng; @Override protected int setLayoutId() { @@ -563,11 +564,6 @@ public class CommunityEditActivity extends BaseActivity { mSelGridBean = new AreaGridListBean.RowsBean(); mSelGridBean.setGridId(bean.getGrid()); mSelGridBean.setGridName(bean.getGridName()); - mTvGrid.setText(bean.getGridName()); - mEtPropertyName.setText(bean.getPropertyName()); - mEtPropertyLinkName.setText(bean.getLinkMan()); - mEtPropertyLinkPhone.setText(bean.getPhone()); - mEtAddress.setText(bean.getResidentialAddress()); if (!TextUtils.isEmpty(bean.getLatitude()) && !TextUtils.isEmpty(bean.getLongitude())) { mLat = Double.parseDouble(bean.getLatitude()); mLng = Double.parseDouble(bean.getLongitude()); @@ -575,6 +571,12 @@ public class CommunityEditActivity extends BaseActivity { Location84 loc = PointUtils.wgs84ToBd09(new Location84(mLat, mLng)); addMarkToMap(loc.getLat(), loc.getLng()); } + mTvGrid.setText(bean.getGridName()); + mEtPropertyName.setText(bean.getPropertyName()); + mEtPropertyLinkName.setText(bean.getLinkMan()); + mEtPropertyLinkPhone.setText(bean.getPhone()); + mEtAddress.setText(bean.getResidentialAddress()); + mEtRemark.setText(bean.getRemake()); } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/patrols/KeyRoadCaseEditActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/patrols/KeyRoadCaseEditActivity.java index 8a4c476..192f1c5 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/patrols/KeyRoadCaseEditActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/patrols/KeyRoadCaseEditActivity.java @@ -320,7 +320,7 @@ public class KeyRoadCaseEditActivity extends BaseActivity { mSelAreaId = id; mSelAreaName = names; mTvArea.setText(names); - mSelGridBean= null; + mSelGridBean = null; mTvGrid.setText(""); dialog.dismiss(); }); @@ -416,7 +416,7 @@ public class KeyRoadCaseEditActivity extends BaseActivity { ToastUtils.show("请选择发生日期"); return false; } - if (TextUtils.isEmpty(mSelAreaId)) { + if (TextUtils.isEmpty(mSelAreaCode)) { ToastUtils.show("请选择案发地"); return false; } diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseAddActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseAddActivity.java index e66c09a..4bbbf8b 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseAddActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseAddActivity.java @@ -1,26 +1,45 @@ package com.tengshisoft.gridmodule.incident.activitys.schools; +import android.annotation.SuppressLint; import android.app.ProgressDialog; +import android.content.Intent; import android.graphics.Color; import android.text.Html; 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.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.bigkoo.pickerview.builder.OptionsPickerBuilder; import com.bigkoo.pickerview.builder.TimePickerBuilder; import com.bigkoo.pickerview.view.OptionsPickerView; import com.bigkoo.pickerview.view.TimePickerView; import com.google.gson.Gson; import com.hjq.toast.ToastUtils; +import com.tengshisoft.commonmodule.beans.AreaGridListBean; import com.tengshisoft.commonmodule.beans.SaveSchoolCaseBean; import com.tengshisoft.commonmodule.beans.SchoolCaseDetailBean; import com.tengshisoft.commonmodule.beans.SuccessBean; import com.tengshisoft.commonmodule.nets.GridApis; import com.tengshisoft.gridmodule.R; import com.tengshisoft.gridmodule.R2; +import com.tengshisoft.modulemap.common.Location84; +import com.tengshisoft.modulemap.common.PointUtils; import com.tenlionsoft.baselib.constant.DicIds; import com.tenlionsoft.baselib.constant.PathConfig; import com.tenlionsoft.baselib.core.beans.DicBean; @@ -34,6 +53,7 @@ import com.tenlionsoft.baselib.utils.UserLgUtils; import java.util.List; +import androidx.annotation.Nullable; import androidx.appcompat.widget.SwitchCompat; import androidx.core.widget.NestedScrollView; import butterknife.BindView; @@ -91,6 +111,12 @@ public class SchoolCaseAddActivity extends BaseActivity { Button mBtnSubmit; @BindView(R2.id.nsv_content) NestedScrollView mNsvContent; + @BindView(R2.id.tv_grid) + TextView mTvGrid; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; private Unbinder mBind; private String mId; private OptionsPickerView mCardTypePicker; @@ -107,6 +133,9 @@ public class SchoolCaseAddActivity extends BaseActivity { private String mSchoolId; private SchoolCaseDetailBean mBean; private int mIsSw = 0; + private AreaGridListBean.RowsBean mSelGridBean; + private double mLat; + private double mLng; @Override protected int setLayoutId() { @@ -129,6 +158,7 @@ public class SchoolCaseAddActivity extends BaseActivity { mBind = ButterKnife.bind(this); mId = getIntent().getStringExtra("id"); mSchoolId = getIntent().getStringExtra("schoolId"); + initMap(); initViews(); if (TextUtils.isEmpty(mId)) { mTvBaseTitle.setText("涉及师生安全案件信息录入"); @@ -144,33 +174,33 @@ public class SchoolCaseAddActivity extends BaseActivity { */ private void getDetailData() { RetrofitManager.getInstance() - .create(GridApis.class) - .getSchoolCaseDetailById(mId, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .getSchoolCaseDetailById(mId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SchoolCaseDetailBean schoolCaseDetailBean) { - mBean = schoolCaseDetailBean; - setDataToView(); - } + @Override + public void onNext(@NonNull SchoolCaseDetailBean schoolCaseDetailBean) { + mBean = schoolCaseDetailBean; + setDataToView(); + } - @Override - public void onError(@NonNull Throwable e) { - refreshView(STATE_LOAD_ERROR); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + refreshView(STATE_LOAD_ERROR); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } @@ -184,6 +214,40 @@ public class SchoolCaseAddActivity extends BaseActivity { mTvDate.setOnClickListener(v -> onShowDate()); mBtnSubmit.setOnClickListener(v -> doConfirm()); mSwIsCrack.setOnCheckedChangeListener((buttonView, isChecked) -> mIsSw = isChecked ? 1 : 0); + mTvGrid.setOnClickListener(v -> { + if (TextUtils.isEmpty(mSelAreaCode)) { + ToastUtils.show("请选择案发地"); + } else { + ARouter.getInstance() + .build(PathConfig.PATH_MODULE_COMMON_ACTIVITY_SEL_GRID) + .withString("areaCode", mSelAreaCode) + .navigation(mActivity, 15); + } + }); + mTvAddressSel.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_MAP_SEL_POINT) + .navigation(mActivity, 14)); + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable @org.jetbrains.annotations.Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 14) { + if (resultCode == 22) { + mLat = data.getDoubleExtra("lat", -1); + mLng = data.getDoubleExtra("lng", -1); + String address = data.getStringExtra("address"); + mEtAddress.setText(address); + mTvAddressSel.setText(mLat + "-" + mLng); + Location84 loc = PointUtils.wgs84ToBd09(new Location84(mLat, mLng)); + addMarkToMap(loc.getLat(), loc.getLng()); + } + } else if (requestCode == 15) { + if (resultCode == 222) { + mSelGridBean = (AreaGridListBean.RowsBean) data.getSerializableExtra("bean"); + mTvGrid.setText(mSelGridBean.getGridName()); + } + } } /** @@ -206,35 +270,35 @@ public class SchoolCaseAddActivity extends BaseActivity { dialog.show(); RequestBody body = buildParams(); RetrofitManager.getInstance() - .create(GridApis.class) - .doSaveSchoolCase(body, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .doSaveSchoolCase(body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SuccessBean successBean) { - dialog.dismiss(); - ToastUtils.show("录入成功"); - setResult(13); - finish(); - } + @Override + public void onNext(@NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("录入成功"); + setResult(13); + finish(); + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } } @@ -247,38 +311,91 @@ public class SchoolCaseAddActivity extends BaseActivity { dialog.show(); RequestBody body = buildParams(); RetrofitManager.getInstance() - .create(GridApis.class) - .doEditSchoolCase(mId, body, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .doEditSchoolCase(mId, body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SuccessBean successBean) { - dialog.dismiss(); - ToastUtils.show("编辑成功"); - setResult(13); - finish(); - } + @Override + public void onNext(@NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("编辑成功"); + setResult(13); + finish(); + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } } + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; + + /** + * 初始化地图 + */ + @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.DEFAULT_LAT, PathConfig.DEFAULT_LNG), 14); + } + + /** + * 将地图移动到定位中心 + * + * @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); + } + + private void addMarkToMap(double lat, double lng) { + mBaiduMap.clear(); + moveMapToCenter(new LatLng(lat, lng), 18); + if (mBitMap == null) { + mBitMap = BitmapDescriptorFactory.fromResource(com.tengshisoft.commonmodule.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); + } + /** * 显示案件性质 @@ -291,11 +408,11 @@ public class SchoolCaseAddActivity extends BaseActivity { mSelNature = mNatureList.get(o1); mTvNatureType.setText(mSelNature.getDataName()); }) - .setTitleText("请选择") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); mNaturePicker.setPicker(mNatureList); } mNaturePicker.show(); @@ -315,11 +432,11 @@ public class SchoolCaseAddActivity extends BaseActivity { mSelCardType = mCardType.get(o1); mTvCardType.setText(mSelCardType.getDataName()); }) - .setTitleText("请选择") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); mCardTypePicker.setPicker(mCardType); } mCardTypePicker.show(); @@ -333,9 +450,9 @@ public class SchoolCaseAddActivity extends BaseActivity { */ private void onShowArea() { AreaChooseDialog dialog = new AreaChooseDialog - .DialogBuilder(mActivity) - .setDefault(true) - .build(); + .DialogBuilder(mActivity) + .setDefault(true) + .build(); dialog.addOnChoseListener((names, id, code) -> { mSelAreaCode = code; mSelAreaId = id; @@ -353,12 +470,12 @@ public class SchoolCaseAddActivity extends BaseActivity { private void onShowDate() { hideSoftKeyboard(); TimePickerView mTimePickerView = new TimePickerBuilder(mActivity, (date, v) -> mTvDate.setText(TimeUtils.dateToString(date))) - .setTitleText("请选日期") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .setType(new boolean[]{true, true, true, false, false, false}) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); + .setTitleText("请选日期") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setType(new boolean[]{true, true, true, false, false, false}) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); mTimePickerView.show(); } @@ -369,52 +486,60 @@ public class SchoolCaseAddActivity extends BaseActivity { ProgressDialog dialog = UIUtil.initDialog(mActivity, "获取中..."); dialog.show(); RetrofitManager.getInstance() - .create(GridApis.class) - .getDictListAllByPid(pId, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .getDictListAllByPid(pId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull List typeListBeans) { - dialog.dismiss(); - if (typeListBeans.size() > 0) { - switch (i) { - case 1: - mNatureList = typeListBeans; - onShowNature(); - break; - case 2: - mCardType = typeListBeans; - onShowCardType(); - break; - } - } else { - ToastUtils.show("暂无数据"); + @Override + public void onNext(@NonNull List typeListBeans) { + dialog.dismiss(); + if (typeListBeans.size() > 0) { + switch (i) { + case 1: + mNatureList = typeListBeans; + onShowNature(); + break; + case 2: + mCardType = typeListBeans; + onShowCardType(); + break; } + } else { + ToastUtils.show("暂无数据"); } + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } /** * 校验参数 */ private boolean checkParams() { + if (mSelGridBean == null) { + ToastUtils.show("请选择所在网格"); + return false; + } + if (mLat == 0 || mLng == 0) { + ToastUtils.show("请选择所在经纬度"); + return false; + } String name = mEtName.getText().toString().trim(); if (TextUtils.isEmpty(name)) { ToastUtils.show("请输入案(事)件名称"); @@ -499,6 +624,17 @@ public class SchoolCaseAddActivity extends BaseActivity { mEtFleeCount.setText(mBean.getAtLargeCount() + ""); mEtCatchCount.setText(mBean.getArrestCount() + ""); mEtDetect.setText(Html.fromHtml(mBean.getCaseSolve())); + mSelGridBean = new AreaGridListBean.RowsBean(); + mSelGridBean.setGridId(mBean.getGrid()); + mSelGridBean.setGridName(mBean.getGridName()); + if (!TextUtils.isEmpty(mBean.getLatitude()) && !TextUtils.isEmpty(mBean.getLongitude())) { + mLat = Double.parseDouble(mBean.getLatitude()); + mLng = Double.parseDouble(mBean.getLongitude()); + mTvAddressSel.setText(mLat + "-" + mLng); + Location84 loc = PointUtils.wgs84ToBd09(new Location84(mLat, mLng)); + addMarkToMap(loc.getLat(), loc.getLng()); + } + mTvGrid.setText(mBean.getGridName()); } private RequestBody buildParams() { @@ -508,6 +644,9 @@ public class SchoolCaseAddActivity extends BaseActivity { if (!TextUtils.isEmpty(number)) { bean.setCaseCode(number); } + bean.setGrid(mSelGridBean.getGridId()); + bean.setLatitude(mLat + ""); + bean.setLongitude(mLng + ""); String name = mEtName.getText().toString().trim(); bean.setCaseName(name); String date = mTvDate.getText().toString().trim(); diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseDetailActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseDetailActivity.java index ce13eb9..110e6ef 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseDetailActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolCaseDetailActivity.java @@ -1,13 +1,30 @@ package com.tengshisoft.gridmodule.incident.activitys.schools; +import android.annotation.SuppressLint; import android.text.Html; +import android.text.TextUtils; +import android.view.MotionEvent; +import android.view.View; +import android.widget.ImageView; import android.widget.TextView; +import android.widget.ZoomControls; import com.alibaba.android.arouter.facade.annotation.Route; +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.tengshisoft.commonmodule.beans.SchoolCaseDetailBean; import com.tengshisoft.commonmodule.nets.GridApis; import com.tengshisoft.gridmodule.R; import com.tengshisoft.gridmodule.R2; +import com.tengshisoft.modulemap.common.Location84; +import com.tengshisoft.modulemap.common.PointUtils; import com.tenlionsoft.baselib.constant.PathConfig; import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; import com.tenlionsoft.baselib.core.widget.base.BaseActivity; @@ -66,6 +83,12 @@ public class SchoolCaseDetailActivity extends BaseActivity { TextView mTvDetect; @BindView(R2.id.nsv_content) NestedScrollView mNsvContent; + @BindView(R2.id.tv_grid) + TextView mTvGrid; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; + @BindView(R2.id.tmv_map) + TextureMapView mTmvMap; private SchoolCaseDetailBean mBean; private String mId; @@ -94,6 +117,7 @@ public class SchoolCaseDetailActivity extends BaseActivity { ButterKnife.bind(this); mTvBaseTitle.setText("涉及师生安全案件详情"); mId = getIntent().getStringExtra("id"); + initMap(); getDetailData(); } @@ -102,33 +126,86 @@ public class SchoolCaseDetailActivity extends BaseActivity { */ private void getDetailData() { RetrofitManager.getInstance() - .create(GridApis.class) - .getSchoolCaseDetailById(mId, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .getSchoolCaseDetailById(mId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SchoolCaseDetailBean schoolCaseDetailBean) { - mBean = schoolCaseDetailBean; - setDataToView(); - } + @Override + public void onNext(@NonNull SchoolCaseDetailBean schoolCaseDetailBean) { + mBean = schoolCaseDetailBean; + setDataToView(); + } - @Override - public void onError(@NonNull Throwable e) { - refreshView(STATE_LOAD_ERROR); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + refreshView(STATE_LOAD_ERROR); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); + } + + private BaiduMap mBaiduMap; + private BitmapDescriptor mBitMap; + + /** + * 初始化地图 + */ + @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.DEFAULT_LAT, PathConfig.DEFAULT_LNG), 14); + } + + /** + * 将地图移动到定位中心 + * + * @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); + } + + private void addMarkToMap(double lat, double lng) { + mBaiduMap.clear(); + moveMapToCenter(new LatLng(lat, lng), 18); + if (mBitMap == null) { + mBitMap = BitmapDescriptorFactory.fromResource(com.tengshisoft.commonmodule.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); } /** @@ -138,6 +215,7 @@ public class SchoolCaseDetailActivity extends BaseActivity { refreshView(STATE_LOAD_SUCCESS); mTvNumber.setText(mBean.getCaseCode()); mTvName.setText(mBean.getCaseName()); + mTvGrid.setText(mBean.getGridName()); mTvDate.setText(mBean.getHappenTime()); mTvArea.setText(mBean.getHappenLocationName()); mTvAddress.setText(mBean.getHappenAddress()); @@ -151,5 +229,14 @@ public class SchoolCaseDetailActivity extends BaseActivity { mTvCatchCount.setText(mBean.getArrestCount() + ""); mSwIsCrack.setChecked(mBean.getIsSolve() == 1); mTvDetect.setText(Html.fromHtml(mBean.getCaseSolve())); + if (!TextUtils.isEmpty(mBean.getLatitude()) && !TextUtils.isEmpty(mBean.getLongitude())) { + double mLat = Double.parseDouble(mBean.getLatitude()); + double mLng = Double.parseDouble(mBean.getLongitude()); + mTvAddressSel.setText(mLat + "-" + mLng); + Location84 loc = PointUtils.wgs84ToBd09(new Location84(mLat, mLng)); + addMarkToMap(loc.getLat(), loc.getLng()); + } + + } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesAddActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesAddActivity.java index fe1c917..c4a68ef 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesAddActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesAddActivity.java @@ -1,6 +1,7 @@ package com.tengshisoft.gridmodule.incident.activitys.schools; import android.app.ProgressDialog; +import android.content.Intent; import android.graphics.Color; import android.text.TextUtils; import android.view.View; @@ -11,6 +12,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.alibaba.android.arouter.facade.annotation.Route; +import com.alibaba.android.arouter.launcher.ARouter; import com.bigkoo.pickerview.builder.OptionsPickerBuilder; import com.bigkoo.pickerview.view.OptionsPickerView; import com.google.gson.Gson; @@ -77,14 +79,10 @@ public class SchoolEmphasesAddActivity extends BaseActivity { TextView mTvBaseIdCard; @BindView(R2.id.tv_base_phone) TextView mTvBasePhone; - @BindView(R2.id.tv_base_native) - TextView mTvBaseNative; @BindView(R2.id.tv_base_nation) TextView mTvBaseNation; @BindView(R2.id.tv_base_register_loc) TextView mTvBaseRegisterLoc; - @BindView(R2.id.tv_base_cur_loc) - TextView mTvBaseCurLoc; @BindView(R2.id.tv_base_cur_address) TextView mTvBaseCurAddress; @BindView(R2.id.cv_base_info_detail) @@ -97,6 +95,12 @@ public class SchoolEmphasesAddActivity extends BaseActivity { Button mBtnConfirm; @BindView(R2.id.ll_content) LinearLayout mLlContent; + @BindView(R2.id.tv_base_area) + TextView mTvBaseArea; + @BindView(R2.id.tv_base_grid) + TextView mTvBaseGrid; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; private Unbinder mBind; private String mPersonId; private String mId; @@ -108,6 +112,8 @@ public class SchoolEmphasesAddActivity extends BaseActivity { private List mTypeList; private DicBean mSelType; + private double mLat; + private double mLng; @Override protected int setLayoutId() { @@ -154,40 +160,40 @@ public class SchoolEmphasesAddActivity extends BaseActivity { * 获取详情 */ private void getDetailData() { - Observable personBaseBean = RetrofitManager.getInstance().create(GridApis.class).getBaseInfoDetailById(mPersonId, UserLgUtils.getToken()); + Observable personBaseBean = RetrofitManager.getInstance().create(BaseApiService.class).doSearchPerson(mPersonId, UserLgUtils.getToken()); Observable detailById = RetrofitManager.getInstance().create(GridApis.class).getSchoolEmphasesPersonDetailById(mId, UserLgUtils.getToken()); Observable.mergeDelayError(personBaseBean, detailById) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .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 PersonSearchBean) { + mBaseInfo = (PersonSearchBean) o; + setBaseInfo(); + } else if (o instanceof SchoolEmphasesPersonDetailBean) { + mDetailBean = (SchoolEmphasesPersonDetailBean) o; + setInfo(); } + refreshView(STATE_LOAD_SUCCESS); + } - @Override - public void onNext(@NonNull Object o) { - if (o instanceof PersonSearchBean) { - mBaseInfo = (PersonSearchBean) o; - setBaseInfo(); - } else if (o instanceof SchoolEmphasesPersonDetailBean) { - mDetailBean = (SchoolEmphasesPersonDetailBean) o; - setInfo(); - } - refreshView(STATE_LOAD_SUCCESS); - } + @Override + public void onError(@NonNull Throwable e) { + ExceptionHandler.handleException(e); + refreshView(STATE_LOAD_ERROR); + } - @Override - public void onError(@NonNull Throwable e) { - ExceptionHandler.handleException(e); - refreshView(STATE_LOAD_ERROR); - } + @Override + public void onComplete() { - @Override - public void onComplete() { - - } - }); + } + }); } @@ -202,7 +208,13 @@ public class SchoolEmphasesAddActivity extends BaseActivity { mSelType.setDataName(mDetailBean.getDegreeOfHarmName()); mTvHarm.setText(mDetailBean.getDegreeOfHarmName()); mSwAttention.setChecked(mDetailBean.getIsFollow() == 1); + mIsAttention = mDetailBean.getIsFollow(); + if (!TextUtils.isEmpty(mDetailBean.getLatitude()) && !TextUtils.isEmpty(mDetailBean.getLongitude())) { + mLat = Double.parseDouble(mDetailBean.getLatitude()); + mLng = Double.parseDouble(mDetailBean.getLongitude()); + mTvAddressSel.setText(mLat + "-" + mLng); + } } /** @@ -214,6 +226,9 @@ public class SchoolEmphasesAddActivity extends BaseActivity { mIvClear.setOnClickListener(v -> mEtSearchCentent.setText("")); mTvHarm.setOnClickListener(v -> onShowHarm()); mSwAttention.setOnCheckedChangeListener((buttonView, isChecked) -> mIsAttention = isChecked ? 1 : 0); + mTvAddressSel.setOnClickListener(v -> ARouter.getInstance() + .build(PathConfig.PATH_MODULE_MAP_SEL_POINT) + .navigation(mActivity, 16)); mBtnConfirm.setOnClickListener(v -> doConfirm()); } @@ -230,6 +245,18 @@ public class SchoolEmphasesAddActivity extends BaseActivity { } } + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == 22) { + if (requestCode == 16) { + mLat = data.getDoubleExtra("lat", -1); + mLng = data.getDoubleExtra("lng", -1); + mTvAddressSel.setText(mLat + "-" + mLng); + } + } + super.onActivityResult(requestCode, resultCode, data); + } + /** * 编辑 */ @@ -239,35 +266,35 @@ public class SchoolEmphasesAddActivity extends BaseActivity { dialog.show(); RequestBody body = buildParams(); RetrofitManager.getInstance() - .create(GridApis.class) - .doEditSchoolEmphases(mId, body, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .doEditSchoolEmphases(mId, body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SuccessBean successBean) { - dialog.dismiss(); - ToastUtils.show("修改成功"); - setResult(13); - finish(); - } + @Override + public void onNext(@NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("修改成功"); + setResult(13); + finish(); + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } } @@ -280,35 +307,35 @@ public class SchoolEmphasesAddActivity extends BaseActivity { dialog.show(); RequestBody body = buildParams(); RetrofitManager.getInstance() - .create(GridApis.class) - .doSaveSchoolEmphases(body, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .doSaveSchoolEmphases(body, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull SuccessBean successBean) { - dialog.dismiss(); - ToastUtils.show("录入成功"); - setResult(13); - finish(); - } + @Override + public void onNext(@NonNull SuccessBean successBean) { + dialog.dismiss(); + ToastUtils.show("录入成功"); + setResult(13); + finish(); + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } } @@ -324,6 +351,10 @@ public class SchoolEmphasesAddActivity extends BaseActivity { ToastUtils.show("请选择危害程度"); return false; } + if (mLat == 0 || mLng == 0) { + ToastUtils.show("请选择所在经纬度"); + return false; + } return true; } @@ -332,12 +363,18 @@ public class SchoolEmphasesAddActivity extends BaseActivity { */ private RequestBody buildParams() { SaveEmphasesBean bean = new SaveEmphasesBean(); - bean.setBaseId(mBaseInfo.getBasePopulationInfoId()); + bean.setBaseId(mBaseInfo.getIdCardNumber()); bean.setSchoolId(mSchoolId); bean.setDegreeOfHarm(mSelType.getDataId()); bean.setDegreeOfHarmCode(mSelType.getDataSummary()); bean.setDegreeOfHarmName(mSelType.getDataName()); bean.setIsFollow(mIsAttention); + bean.setGrid(mBaseInfo.getGridId()); + bean.setLatitude(mLat + ""); + bean.setLongitude(mLng + ""); + bean.setLocation(mBaseInfo.getAreaNames()); + bean.setLocationCode(mBaseInfo.getAreaCode()); + Gson gson = new Gson(); String obj = gson.toJson(bean); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), obj); @@ -355,11 +392,11 @@ public class SchoolEmphasesAddActivity extends BaseActivity { mSelType = mTypeList.get(o1); mTvHarm.setText(mSelType.getDataName()); }) - .setTitleText("请选择") - .setCancelColor(Color.parseColor("#1189FF")) - .setSubmitColor(Color.parseColor("#1189FF")) - .setTitleColor(Color.parseColor("#1189FF")) - .build(); + .setTitleText("请选择") + .setCancelColor(Color.parseColor("#1189FF")) + .setSubmitColor(Color.parseColor("#1189FF")) + .setTitleColor(Color.parseColor("#1189FF")) + .build(); mTypePicker.setPicker(mTypeList); } mTypePicker.show(); @@ -375,42 +412,42 @@ public class SchoolEmphasesAddActivity extends BaseActivity { ProgressDialog dialog = UIUtil.initDialog(mActivity, "获取中..."); dialog.show(); RetrofitManager.getInstance() - .create(GridApis.class) - .getDictListAllByPid(pId, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer>() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(GridApis.class) + .getDictListAllByPid(pId, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { - } + } - @Override - public void onNext(@NonNull List typeListBeans) { - dialog.dismiss(); - if (typeListBeans.size() > 0) { - switch (i) { - case 1: - mTypeList = typeListBeans; - onShowHarm(); - break; - } - } else { - ToastUtils.show("暂无数据"); + @Override + public void onNext(@NonNull List typeListBeans) { + dialog.dismiss(); + if (typeListBeans.size() > 0) { + switch (i) { + case 1: + mTypeList = typeListBeans; + onShowHarm(); + break; } + } else { + ToastUtils.show("暂无数据"); } + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onComplete() { + @Override + public void onComplete() { - } - }); + } + }); } /** @@ -426,39 +463,39 @@ public class SchoolEmphasesAddActivity extends BaseActivity { ProgressDialog dialog = UIUtil.initDialog(mActivity, "查询中..."); dialog.show(); RetrofitManager.getInstance() - .create(BaseApiService.class) - .doSearchPerson(searchIdCard, UserLgUtils.getToken()) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .create(BaseApiService.class) + .doSearchPerson(searchIdCard, UserLgUtils.getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + } + + @Override + public void onNext(@NonNull PersonSearchBean infoBean1) { + dialog.dismiss(); + if (!TextUtils.isEmpty(infoBean1.getIdCardNumber())) { + //设置基础信息 + mBaseInfo = infoBean1; + setBaseInfo(); + } else { + ToastUtils.show("未查询到该人员的基础信息,请完善基础信息"); } + } - @Override - public void onNext(@NonNull PersonSearchBean infoBean1) { - dialog.dismiss(); - if (!TextUtils.isEmpty(infoBean1.getIdCardNumber())) { - //设置基础信息 - mBaseInfo = infoBean1; - setBaseInfo(); - } else { - ToastUtils.show("未查询到该人员的基础信息,请完善基础信息"); - } - } + @Override + public void onError(@NonNull Throwable e) { + dialog.dismiss(); + ExceptionHandler.handleException(e); + } - @Override - public void onError(@NonNull Throwable e) { - dialog.dismiss(); - ExceptionHandler.handleException(e); - } + @Override + public void onComplete() { - @Override - public void onComplete() { - - } - }); + } + }); } } @@ -467,15 +504,17 @@ public class SchoolEmphasesAddActivity extends BaseActivity { * 基础信息 */ private void setBaseInfo() { + mTvBaseGrid.setText(mBaseInfo.getGridName()); + mTvBaseArea.setText(mBaseInfo.getAreaNames()); mTvBaseName.setText(mBaseInfo.getFullName()); mTvBaseFormerName.setText(mBaseInfo.getNameUsedBefore()); mTvBaseGender.setText(mBaseInfo.getGenderDictionaryName()); mTvBaseIdCard.setText(mBaseInfo.getIdCardNumber());//身份证 mTvBasePhone.setText(mBaseInfo.getTelephone());//联系电话 - mTvBaseNative.setText(mBaseInfo.getNativePlaceDictionaryName());//籍贯 +// mTvBaseNative.setText(mBaseInfo.getNativePlaceDictionaryName());//籍贯 mTvBaseNation.setText(mBaseInfo.getNationDictionaryName());//名族 - mTvBaseRegisterLoc.setText(mBaseInfo.getRegisteredResidenceDictionaryName());//户籍地 - mTvBaseCurLoc.setText(mBaseInfo.getCurrentResidenceDictionaryName());//现住址 + mTvBaseRegisterLoc.setText(mBaseInfo.getNativePlaceAddr());//户籍地 +// mTvBaseCurLoc.setText(mBaseInfo.getCurrentResidenceDictionaryName());//现住址 mTvBaseCurAddress.setText(mBaseInfo.getCurrentResidenceAddr());//现住址详情 } } \ No newline at end of file diff --git a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesDetailActivity.java b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesDetailActivity.java index 8c75540..9ea1346 100644 --- a/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesDetailActivity.java +++ b/gridmodule/src/main/java/com/tengshisoft/gridmodule/incident/activitys/schools/SchoolEmphasesDetailActivity.java @@ -11,6 +11,7 @@ import com.tengshisoft.gridmodule.R2; import com.tenlionsoft.baselib.constant.PathConfig; import com.tenlionsoft.baselib.core.beans.PersonSearchBean; import com.tenlionsoft.baselib.core.retrofit_net.RetrofitManager; +import com.tenlionsoft.baselib.core.retrofit_net.api.BaseApiService; import com.tenlionsoft.baselib.core.widget.base.BaseActivity; import com.tenlionsoft.baselib.utils.ExceptionHandler; import com.tenlionsoft.baselib.utils.UserLgUtils; @@ -47,14 +48,10 @@ public class SchoolEmphasesDetailActivity extends BaseActivity { TextView mTvBaseIdCard; @BindView(R2.id.tv_base_phone) TextView mTvBasePhone; - @BindView(R2.id.tv_base_native) - TextView mTvBaseNative; @BindView(R2.id.tv_base_nation) TextView mTvBaseNation; @BindView(R2.id.tv_base_register_loc) TextView mTvBaseRegisterLoc; - @BindView(R2.id.tv_base_cur_loc) - TextView mTvBaseCurLoc; @BindView(R2.id.tv_base_cur_address) TextView mTvBaseCurAddress; @BindView(R2.id.cv_base_info_detail) @@ -65,6 +62,12 @@ public class SchoolEmphasesDetailActivity extends BaseActivity { SwitchCompat mSwAttention; @BindView(R2.id.ll_content) LinearLayout mLlContent; + @BindView(R2.id.tv_base_area) + TextView mTvBaseArea; + @BindView(R2.id.tv_base_grid) + TextView mTvBaseGrid; + @BindView(R2.id.tv_address_sel) + TextView mTvAddressSel; private Unbinder mBind; private PersonSearchBean mBaseInfo; private SchoolEmphasesPersonDetailBean mDetailBean; @@ -104,40 +107,40 @@ public class SchoolEmphasesDetailActivity extends BaseActivity { * 获取详情 */ private void getDetailData() { - Observable personBaseBean = RetrofitManager.getInstance().create(GridApis.class).getBaseInfoDetailById(mPersonId, UserLgUtils.getToken()); + Observable personBaseBean = RetrofitManager.getInstance().create(BaseApiService.class).doSearchPerson(mPersonId, UserLgUtils.getToken()); Observable detailById = RetrofitManager.getInstance().create(GridApis.class).getSchoolEmphasesPersonDetailById(mId, UserLgUtils.getToken()); Observable.mergeDelayError(personBaseBean, detailById) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { + .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 PersonSearchBean) { + mBaseInfo = (PersonSearchBean) o; + setBaseInfo(); + } else if (o instanceof SchoolEmphasesPersonDetailBean) { + mDetailBean = (SchoolEmphasesPersonDetailBean) o; + setInfo(); } + refreshView(STATE_LOAD_SUCCESS); + } - @Override - public void onNext(@NonNull Object o) { - if (o instanceof PersonSearchBean) { - mBaseInfo = (PersonSearchBean) o; - setBaseInfo(); - } else if (o instanceof SchoolEmphasesPersonDetailBean) { - mDetailBean = (SchoolEmphasesPersonDetailBean) o; - setInfo(); - } - refreshView(STATE_LOAD_SUCCESS); - } + @Override + public void onError(@NonNull Throwable e) { + ExceptionHandler.handleException(e); + refreshView(STATE_LOAD_ERROR); + } - @Override - public void onError(@NonNull Throwable e) { - ExceptionHandler.handleException(e); - refreshView(STATE_LOAD_ERROR); - } + @Override + public void onComplete() { - @Override - public void onComplete() { - - } - }); + } + }); } @@ -148,6 +151,7 @@ public class SchoolEmphasesDetailActivity extends BaseActivity { private void setInfo() { mTvHarm.setText(mDetailBean.getDegreeOfHarmName()); mSwAttention.setChecked(mDetailBean.getIsFollow() == 1); + mTvAddressSel.setText(mDetailBean.getLatitude() + "-" + mDetailBean.getLongitude()); } @@ -155,15 +159,17 @@ public class SchoolEmphasesDetailActivity extends BaseActivity { * 基础信息 */ private void setBaseInfo() { + mTvBaseGrid.setText(mBaseInfo.getGridName()); + mTvBaseArea.setText(mBaseInfo.getAreaNames()); mTvBaseName.setText(mBaseInfo.getFullName()); mTvBaseFormerName.setText(mBaseInfo.getNameUsedBefore()); mTvBaseGender.setText(mBaseInfo.getGenderDictionaryName()); mTvBaseIdCard.setText(mBaseInfo.getIdCardNumber());//身份证 mTvBasePhone.setText(mBaseInfo.getTelephone());//联系电话 - mTvBaseNative.setText(mBaseInfo.getNativePlaceDictionaryName());//籍贯 +// mTvBaseNative.setText(mBaseInfo.getNativePlaceDictionaryName());//籍贯 mTvBaseNation.setText(mBaseInfo.getNationDictionaryName());//名族 - mTvBaseRegisterLoc.setText(mBaseInfo.getRegisteredResidenceDictionaryName());//户籍地 - mTvBaseCurLoc.setText(mBaseInfo.getCurrentResidenceDictionaryName());//现住址 + mTvBaseRegisterLoc.setText(mBaseInfo.getNativePlaceAddr());//户籍地 +// mTvBaseCurLoc.setText(mBaseInfo.getCurrentResidenceDictionaryName());//现住址 mTvBaseCurAddress.setText(mBaseInfo.getCurrentResidenceAddr());//现住址详情 } } \ No newline at end of file diff --git a/gridmodule/src/main/res/layout/activity_school_case_add.xml b/gridmodule/src/main/res/layout/activity_school_case_add.xml index 46caf24..ea76ad5 100644 --- a/gridmodule/src/main/res/layout/activity_school_case_add.xml +++ b/gridmodule/src/main/res/layout/activity_school_case_add.xml @@ -1,7 +1,6 @@ @@ -38,6 +37,25 @@ android:text="案(事)件信息" android:textStyle="bold" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gridmodule/src/main/res/layout/activity_school_case_detail.xml b/gridmodule/src/main/res/layout/activity_school_case_detail.xml index 0408ae1..600e651 100644 --- a/gridmodule/src/main/res/layout/activity_school_case_detail.xml +++ b/gridmodule/src/main/res/layout/activity_school_case_detail.xml @@ -38,6 +38,21 @@ android:text="案(事)件信息" android:textStyle="bold" /> + + + + + + + + + + + @@ -107,6 +122,31 @@ style="@style/item_content" /> + + + + + + + + + + + + + + + + + android:orientation="vertical" + android:paddingBottom="10dp"> + + + + + + + + + diff --git a/gridmodule/src/main/res/layout/activity_school_emphases_detail.xml b/gridmodule/src/main/res/layout/activity_school_emphases_detail.xml index 104e088..bb4b239 100644 --- a/gridmodule/src/main/res/layout/activity_school_emphases_detail.xml +++ b/gridmodule/src/main/res/layout/activity_school_emphases_detail.xml @@ -1,7 +1,6 @@ + android:orientation="vertical" + android:paddingBottom="10dp"> - - + + + + + + + + + diff --git a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java index f4e4ec4..7921de3 100644 --- a/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java +++ b/mainmodule/src/main/java/com/tengshisoft/mainmodule/base/MainTabActivity.java @@ -345,14 +345,14 @@ public class MainTabActivity extends BaseActivity implements LoginView, LocalBro mBnv.setBackgroundStyle(BottomNavigationBar.BACKGROUND_STYLE_STATIC); mBnv.setBarBackgroundColor(R.color.white); //TODO 根据权限来生成首页 - BottomNavigationItem gridItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "首页");//网格员首页 - BottomNavigationItem deptItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "首页");//部门首页 - BottomNavigationItem centerItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "首页");//中心端首页 + BottomNavigationItem gridItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "网格");//网格员首页 + BottomNavigationItem deptItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "部门");//部门首页 + BottomNavigationItem centerItem = new BottomNavigationItem(R.drawable.sel_bottom_tab_activity, "中心");//中心端首页 mBnv.addItem(gridItem) .addItem(deptItem) - .addItem(centerItem) .addItem(new BottomNavigationItem(R.drawable.sel_bottom_tab_place, "咨询")) + .addItem(centerItem) .addItem(new BottomNavigationItem(R.drawable.sel_bottom_tab_mine, "我的")) .setFirstSelectedPosition(0) .initialise(); @@ -633,7 +633,7 @@ public class MainTabActivity extends BaseActivity implements LoginView, LocalBro //1.支持通话,进行登录 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { LogUtils.e("手机支持通话登录中..."); - LoginMangerV2.getInstance().checkLogin("zh-2", "hc123456@", this); + LoginMangerV2.getInstance().checkLogin("zh-2", "Huawei@12345", this); } else { //TODO 通知对方,手机不支持通话 sendBroadcast(new Intent(PathConfig.ACTION_CALL_OTHER_NO_SUPPORT));