diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java deleted file mode 100644 index a6eb82a..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.casic.dcms.mvvm.view.fragment; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.casic.dcms.adapter.OnlinePersonAdapter; -import com.casic.dcms.databinding.FragmentPersonListBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; -import com.casic.dcms.mvvm.model.PersonBean; -import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.pengxh.androidx.lite.base.AndroidxBaseFragment; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class PersonOnLineFragment extends AndroidxBaseFragment { - - private final Set deptSet = new HashSet<>(); - private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 - private PersonViewModel statusViewModel; - private OnlinePersonAdapter onlinePersonAdapter; - private List deptList = new ArrayList<>(); //部门名集合 - - @Override - protected void setupTopBarLayout() { - - } - - @Override - protected void initData() { - statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); - statusViewModel.obtainPersonByStatus("", "", ""); - - onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); - } - - @Override - protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { - @Override - public void onChanged(OnlinePersonBean resultBean) { - if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - deptList.clear(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - deptSet.add(bean.getDeptName()); - } - //hashSet去重然后转List - deptList = new ArrayList<>(deptSet); - if (deptList.size() > 0) { - deptAndPersons.clear(); - for (String title : deptList) { - List beanList = new ArrayList<>(); - for (OnlinePersonBean.DataBean dataBean : dataBeans) { - if (title.equals(dataBean.getDeptName())) { - PersonBean personBean = new PersonBean(); - personBean.setPersonDept(dataBean.getDeptName()); - personBean.setPersonName(dataBean.getName()); - personBean.setPersonPhone(dataBean.getPhone()); - personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); - personBean.setOnLine(dataBean.isOnLine()); - beanList.add(personBean); - } - } - deptAndPersons.add(beanList); - } - onlinePersonAdapter.setData(deptList, deptAndPersons); - viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); - } - } - } - }); - } -} \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java deleted file mode 100644 index a6eb82a..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.casic.dcms.mvvm.view.fragment; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.casic.dcms.adapter.OnlinePersonAdapter; -import com.casic.dcms.databinding.FragmentPersonListBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; -import com.casic.dcms.mvvm.model.PersonBean; -import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.pengxh.androidx.lite.base.AndroidxBaseFragment; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class PersonOnLineFragment extends AndroidxBaseFragment { - - private final Set deptSet = new HashSet<>(); - private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 - private PersonViewModel statusViewModel; - private OnlinePersonAdapter onlinePersonAdapter; - private List deptList = new ArrayList<>(); //部门名集合 - - @Override - protected void setupTopBarLayout() { - - } - - @Override - protected void initData() { - statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); - statusViewModel.obtainPersonByStatus("", "", ""); - - onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); - } - - @Override - protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { - @Override - public void onChanged(OnlinePersonBean resultBean) { - if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - deptList.clear(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - deptSet.add(bean.getDeptName()); - } - //hashSet去重然后转List - deptList = new ArrayList<>(deptSet); - if (deptList.size() > 0) { - deptAndPersons.clear(); - for (String title : deptList) { - List beanList = new ArrayList<>(); - for (OnlinePersonBean.DataBean dataBean : dataBeans) { - if (title.equals(dataBean.getDeptName())) { - PersonBean personBean = new PersonBean(); - personBean.setPersonDept(dataBean.getDeptName()); - personBean.setPersonName(dataBean.getName()); - personBean.setPersonPhone(dataBean.getPhone()); - personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); - personBean.setOnLine(dataBean.isOnLine()); - beanList.add(personBean); - } - } - deptAndPersons.add(beanList); - } - onlinePersonAdapter.setData(deptList, deptAndPersons); - viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); - } - } - } - }); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java index d1d50e0..132e91f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java @@ -1,30 +1,29 @@ package com.casic.dcms.mvvm.view.fragment; import android.annotation.SuppressLint; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; +import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.casic.dcms.R; import com.casic.dcms.databinding.FragmentPersonMapBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.PointPersonBean; import com.casic.dcms.mvvm.vm.PersonViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.esri.arcgisruntime.concurrent.ListenableFuture; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.Point; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -51,7 +50,6 @@ private WeakReferenceHandler weakReferenceHandler; private PersonViewModel statusViewModel; private ListenableList graphicsOverlays; - private List personBeans; @Override protected void setupTopBarLayout() { @@ -60,6 +58,7 @@ @Override protected void initData() { + weakReferenceHandler = new WeakReferenceHandler(callback); statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); statusViewModel.obtainPersonByStatus("", "", ""); @@ -71,42 +70,35 @@ arcGISMap.setBasemap(baseMap); viewBinding.mapView.setMap(arcGISMap); graphicsOverlays = viewBinding.mapView.getGraphicsOverlays(); - weakReferenceHandler = new WeakReferenceHandler(callback); } @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { + List personBeans = new ArrayList<>(); + statusViewModel.personStatusModel.observe(this, new Observer() { @Override - public void onChanged(OnlinePersonBean resultBean) { + public void onChanged(PersonStatusBean resultBean) { if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - if (dataBeans.size() >= 1) { - personBeans = new ArrayList<>(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - String lng = bean.getPositionLng(); - String lat = bean.getPositionLat(); - if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { - Log.d(TAG, "经纬度异常"); - } else { - PointPersonBean personBean = new PointPersonBean(); - personBean.setPersonName(bean.getName()); - personBean.setPersonPhone(bean.getPhone()); - personBean.setPersonDept(bean.getDeptName()); - personBean.setPointTime(bean.getLastTimeFmt()); - personBean.setOnLine(bean.isOnLine()); - personBean.setPoint(new com.esri.arcgisruntime.geometry.Point( - Double.parseDouble(lng), - Double.parseDouble(lat), - SpatialReference.create(4326) - )); - personBeans.add(personBean); + List dataBeans = resultBean.getData(); + if (!dataBeans.isEmpty()) { + for (PersonStatusBean.DataDTO bean : dataBeans) { + if (bean.isOnLine()) { + String lng = bean.getPositionLng(); + String lat = bean.getPositionLat(); + if (!TextUtils.isEmpty(lng) || !TextUtils.isEmpty(lat)) { + PointPersonBean personBean = new PointPersonBean(); + personBean.setPersonName(bean.getName()); + personBean.setPhoneNumber(bean.getPhone()); + personBean.setPersonDept(bean.getDeptName()); + personBean.setLastOnlineTime(bean.getLastTimeFmt()); + personBean.setLastLng(Double.parseDouble(lng)); + personBean.setLastLat(Double.parseDouble(lat)); + personBeans.add(personBean); + } } } addPictureMarker(personBeans); - } else { - EasyToast.show(requireContext(), "当前没有人员在线"); } } } @@ -124,11 +116,10 @@ List overlayResultList = overlaysAsync.get(); if (!overlayResultList.isEmpty()) { IdentifyGraphicsOverlayResult identifyResult = overlayResultList.get(0); - com.esri.arcgisruntime.geometry.Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); + Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); for (PointPersonBean dataBean : personBeans) { - com.esri.arcgisruntime.geometry.Point beanPoint = dataBean.getPoint(); - if (Math.abs(beanPoint.getX() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && - Math.abs(beanPoint.getY() - point.getY()) <= LocaleConstant.DELTA_LAT_10 + if (Math.abs(dataBean.getLastLng() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && + Math.abs(dataBean.getLastLat() - point.getY()) <= LocaleConstant.DELTA_LAT_10 ) { Message message = weakReferenceHandler.obtainMessage(); message.what = 2021051901; @@ -149,6 +140,25 @@ }); } + private void addPictureMarker(List beans) { + for (PointPersonBean bean : beans) { + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(requireContext(), R.mipmap.on_line); + if (caseDrawable != null) { + PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); + pictureMarker.setWidth(64); + pictureMarker.setHeight(42); + pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 + GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); + ListenableList overlayGraphics = graphicsOverlay.getGraphics(); + overlayGraphics.add(new Graphic( + new Point(bean.getLastLng(), bean.getLastLat(), SpatialReferences.getWgs84()), + pictureMarker) + ); + graphicsOverlays.add(graphicsOverlay); + } + } + } + private final Handler.Callback callback = msg -> { switch (msg.what) { case 2021051901: @@ -160,14 +170,14 @@ TextView lastTimeView = popupView.findViewById(R.id.lastTimeView); userNameView.setText(dataBean.getPersonName()); deptNameView.setText(dataBean.getPersonDept()); - phoneNumberView.setText(dataBean.getPersonPhone()); - lastTimeView.setText(dataBean.getPointTime()); - QMUIPopups.popup(requireContext(), DeviceSizeUtil.dp2px(requireContext(), 250)) + phoneNumberView.setText(dataBean.getPhoneNumber()); + lastTimeView.setText(dataBean.getLastOnlineTime()); + QMUIPopups.popup(requireContext(), (int) (DeviceSizeUtil.obtainScreenWidth(requireContext()) * 0.8)) .preferredDirection(QMUIPopup.DIRECTION_BOTTOM) .view(popupView) .edgeProtection(DeviceSizeUtil.dp2px(requireContext(), 20)) .dimAmount(0.6f) - .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER) + .animStyle(QMUIPopup.ANIM_AUTO) .onDismiss(null) .show(viewBinding.mapView); break; @@ -177,24 +187,4 @@ } return true; }; - - private void addPictureMarker(List personBeans) { - Bitmap caseBitmap; - for (PointPersonBean bean : personBeans) { - if (bean.isOnLine()) { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.on_line); - } else { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.off_line); - } - BitmapDrawable caseDrawable = new BitmapDrawable(requireContext().getResources(), caseBitmap); - PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); - pictureMarker.setWidth(64); - pictureMarker.setHeight(42); - pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 - GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = graphicsOverlay.getGraphics(); - overlayGraphics.add(new Graphic(bean.getPoint(), pictureMarker)); - graphicsOverlays.add(graphicsOverlay); - } - } } \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java deleted file mode 100644 index a6eb82a..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.casic.dcms.mvvm.view.fragment; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.casic.dcms.adapter.OnlinePersonAdapter; -import com.casic.dcms.databinding.FragmentPersonListBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; -import com.casic.dcms.mvvm.model.PersonBean; -import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.pengxh.androidx.lite.base.AndroidxBaseFragment; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class PersonOnLineFragment extends AndroidxBaseFragment { - - private final Set deptSet = new HashSet<>(); - private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 - private PersonViewModel statusViewModel; - private OnlinePersonAdapter onlinePersonAdapter; - private List deptList = new ArrayList<>(); //部门名集合 - - @Override - protected void setupTopBarLayout() { - - } - - @Override - protected void initData() { - statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); - statusViewModel.obtainPersonByStatus("", "", ""); - - onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); - } - - @Override - protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { - @Override - public void onChanged(OnlinePersonBean resultBean) { - if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - deptList.clear(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - deptSet.add(bean.getDeptName()); - } - //hashSet去重然后转List - deptList = new ArrayList<>(deptSet); - if (deptList.size() > 0) { - deptAndPersons.clear(); - for (String title : deptList) { - List beanList = new ArrayList<>(); - for (OnlinePersonBean.DataBean dataBean : dataBeans) { - if (title.equals(dataBean.getDeptName())) { - PersonBean personBean = new PersonBean(); - personBean.setPersonDept(dataBean.getDeptName()); - personBean.setPersonName(dataBean.getName()); - personBean.setPersonPhone(dataBean.getPhone()); - personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); - personBean.setOnLine(dataBean.isOnLine()); - beanList.add(personBean); - } - } - deptAndPersons.add(beanList); - } - onlinePersonAdapter.setData(deptList, deptAndPersons); - viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); - } - } - } - }); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java index d1d50e0..132e91f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java @@ -1,30 +1,29 @@ package com.casic.dcms.mvvm.view.fragment; import android.annotation.SuppressLint; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; +import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.casic.dcms.R; import com.casic.dcms.databinding.FragmentPersonMapBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.PointPersonBean; import com.casic.dcms.mvvm.vm.PersonViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.esri.arcgisruntime.concurrent.ListenableFuture; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.Point; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -51,7 +50,6 @@ private WeakReferenceHandler weakReferenceHandler; private PersonViewModel statusViewModel; private ListenableList graphicsOverlays; - private List personBeans; @Override protected void setupTopBarLayout() { @@ -60,6 +58,7 @@ @Override protected void initData() { + weakReferenceHandler = new WeakReferenceHandler(callback); statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); statusViewModel.obtainPersonByStatus("", "", ""); @@ -71,42 +70,35 @@ arcGISMap.setBasemap(baseMap); viewBinding.mapView.setMap(arcGISMap); graphicsOverlays = viewBinding.mapView.getGraphicsOverlays(); - weakReferenceHandler = new WeakReferenceHandler(callback); } @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { + List personBeans = new ArrayList<>(); + statusViewModel.personStatusModel.observe(this, new Observer() { @Override - public void onChanged(OnlinePersonBean resultBean) { + public void onChanged(PersonStatusBean resultBean) { if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - if (dataBeans.size() >= 1) { - personBeans = new ArrayList<>(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - String lng = bean.getPositionLng(); - String lat = bean.getPositionLat(); - if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { - Log.d(TAG, "经纬度异常"); - } else { - PointPersonBean personBean = new PointPersonBean(); - personBean.setPersonName(bean.getName()); - personBean.setPersonPhone(bean.getPhone()); - personBean.setPersonDept(bean.getDeptName()); - personBean.setPointTime(bean.getLastTimeFmt()); - personBean.setOnLine(bean.isOnLine()); - personBean.setPoint(new com.esri.arcgisruntime.geometry.Point( - Double.parseDouble(lng), - Double.parseDouble(lat), - SpatialReference.create(4326) - )); - personBeans.add(personBean); + List dataBeans = resultBean.getData(); + if (!dataBeans.isEmpty()) { + for (PersonStatusBean.DataDTO bean : dataBeans) { + if (bean.isOnLine()) { + String lng = bean.getPositionLng(); + String lat = bean.getPositionLat(); + if (!TextUtils.isEmpty(lng) || !TextUtils.isEmpty(lat)) { + PointPersonBean personBean = new PointPersonBean(); + personBean.setPersonName(bean.getName()); + personBean.setPhoneNumber(bean.getPhone()); + personBean.setPersonDept(bean.getDeptName()); + personBean.setLastOnlineTime(bean.getLastTimeFmt()); + personBean.setLastLng(Double.parseDouble(lng)); + personBean.setLastLat(Double.parseDouble(lat)); + personBeans.add(personBean); + } } } addPictureMarker(personBeans); - } else { - EasyToast.show(requireContext(), "当前没有人员在线"); } } } @@ -124,11 +116,10 @@ List overlayResultList = overlaysAsync.get(); if (!overlayResultList.isEmpty()) { IdentifyGraphicsOverlayResult identifyResult = overlayResultList.get(0); - com.esri.arcgisruntime.geometry.Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); + Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); for (PointPersonBean dataBean : personBeans) { - com.esri.arcgisruntime.geometry.Point beanPoint = dataBean.getPoint(); - if (Math.abs(beanPoint.getX() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && - Math.abs(beanPoint.getY() - point.getY()) <= LocaleConstant.DELTA_LAT_10 + if (Math.abs(dataBean.getLastLng() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && + Math.abs(dataBean.getLastLat() - point.getY()) <= LocaleConstant.DELTA_LAT_10 ) { Message message = weakReferenceHandler.obtainMessage(); message.what = 2021051901; @@ -149,6 +140,25 @@ }); } + private void addPictureMarker(List beans) { + for (PointPersonBean bean : beans) { + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(requireContext(), R.mipmap.on_line); + if (caseDrawable != null) { + PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); + pictureMarker.setWidth(64); + pictureMarker.setHeight(42); + pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 + GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); + ListenableList overlayGraphics = graphicsOverlay.getGraphics(); + overlayGraphics.add(new Graphic( + new Point(bean.getLastLng(), bean.getLastLat(), SpatialReferences.getWgs84()), + pictureMarker) + ); + graphicsOverlays.add(graphicsOverlay); + } + } + } + private final Handler.Callback callback = msg -> { switch (msg.what) { case 2021051901: @@ -160,14 +170,14 @@ TextView lastTimeView = popupView.findViewById(R.id.lastTimeView); userNameView.setText(dataBean.getPersonName()); deptNameView.setText(dataBean.getPersonDept()); - phoneNumberView.setText(dataBean.getPersonPhone()); - lastTimeView.setText(dataBean.getPointTime()); - QMUIPopups.popup(requireContext(), DeviceSizeUtil.dp2px(requireContext(), 250)) + phoneNumberView.setText(dataBean.getPhoneNumber()); + lastTimeView.setText(dataBean.getLastOnlineTime()); + QMUIPopups.popup(requireContext(), (int) (DeviceSizeUtil.obtainScreenWidth(requireContext()) * 0.8)) .preferredDirection(QMUIPopup.DIRECTION_BOTTOM) .view(popupView) .edgeProtection(DeviceSizeUtil.dp2px(requireContext(), 20)) .dimAmount(0.6f) - .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER) + .animStyle(QMUIPopup.ANIM_AUTO) .onDismiss(null) .show(viewBinding.mapView); break; @@ -177,24 +187,4 @@ } return true; }; - - private void addPictureMarker(List personBeans) { - Bitmap caseBitmap; - for (PointPersonBean bean : personBeans) { - if (bean.isOnLine()) { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.on_line); - } else { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.off_line); - } - BitmapDrawable caseDrawable = new BitmapDrawable(requireContext().getResources(), caseBitmap); - PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); - pictureMarker.setWidth(64); - pictureMarker.setHeight(42); - pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 - GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = graphicsOverlay.getGraphics(); - overlayGraphics.add(new Graphic(bean.getPoint(), pictureMarker)); - graphicsOverlays.add(graphicsOverlay); - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java index d50cd19..0493ba4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.ProcessPersonBean; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.retrofit.RetrofitServiceManager; @@ -19,7 +19,7 @@ public class PersonViewModel extends BaseViewModel { private final Gson gson = new Gson(); - public MutableLiveData personStatusModel = new MutableLiveData<>(); + public MutableLiveData personStatusModel = new MutableLiveData<>(); public MutableLiveData processPersonModel = new MutableLiveData<>(); public void obtainPersonByStatus(String deptid, String roleTips, String isOnLine) { @@ -41,7 +41,7 @@ String response = responseBody.string(); int responseCode = StringHelper.separateResponseCode(response); if (responseCode == 200) { - OnlinePersonBean resultBean = gson.fromJson(response, new TypeToken() { + PersonStatusBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); personStatusModel.setValue(resultBean); } diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java deleted file mode 100644 index a6eb82a..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.casic.dcms.mvvm.view.fragment; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.casic.dcms.adapter.OnlinePersonAdapter; -import com.casic.dcms.databinding.FragmentPersonListBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; -import com.casic.dcms.mvvm.model.PersonBean; -import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.pengxh.androidx.lite.base.AndroidxBaseFragment; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class PersonOnLineFragment extends AndroidxBaseFragment { - - private final Set deptSet = new HashSet<>(); - private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 - private PersonViewModel statusViewModel; - private OnlinePersonAdapter onlinePersonAdapter; - private List deptList = new ArrayList<>(); //部门名集合 - - @Override - protected void setupTopBarLayout() { - - } - - @Override - protected void initData() { - statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); - statusViewModel.obtainPersonByStatus("", "", ""); - - onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); - } - - @Override - protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { - @Override - public void onChanged(OnlinePersonBean resultBean) { - if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - deptList.clear(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - deptSet.add(bean.getDeptName()); - } - //hashSet去重然后转List - deptList = new ArrayList<>(deptSet); - if (deptList.size() > 0) { - deptAndPersons.clear(); - for (String title : deptList) { - List beanList = new ArrayList<>(); - for (OnlinePersonBean.DataBean dataBean : dataBeans) { - if (title.equals(dataBean.getDeptName())) { - PersonBean personBean = new PersonBean(); - personBean.setPersonDept(dataBean.getDeptName()); - personBean.setPersonName(dataBean.getName()); - personBean.setPersonPhone(dataBean.getPhone()); - personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); - personBean.setOnLine(dataBean.isOnLine()); - beanList.add(personBean); - } - } - deptAndPersons.add(beanList); - } - onlinePersonAdapter.setData(deptList, deptAndPersons); - viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); - } - } - } - }); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java index d1d50e0..132e91f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java @@ -1,30 +1,29 @@ package com.casic.dcms.mvvm.view.fragment; import android.annotation.SuppressLint; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; +import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.casic.dcms.R; import com.casic.dcms.databinding.FragmentPersonMapBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.PointPersonBean; import com.casic.dcms.mvvm.vm.PersonViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.esri.arcgisruntime.concurrent.ListenableFuture; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.Point; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -51,7 +50,6 @@ private WeakReferenceHandler weakReferenceHandler; private PersonViewModel statusViewModel; private ListenableList graphicsOverlays; - private List personBeans; @Override protected void setupTopBarLayout() { @@ -60,6 +58,7 @@ @Override protected void initData() { + weakReferenceHandler = new WeakReferenceHandler(callback); statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); statusViewModel.obtainPersonByStatus("", "", ""); @@ -71,42 +70,35 @@ arcGISMap.setBasemap(baseMap); viewBinding.mapView.setMap(arcGISMap); graphicsOverlays = viewBinding.mapView.getGraphicsOverlays(); - weakReferenceHandler = new WeakReferenceHandler(callback); } @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { + List personBeans = new ArrayList<>(); + statusViewModel.personStatusModel.observe(this, new Observer() { @Override - public void onChanged(OnlinePersonBean resultBean) { + public void onChanged(PersonStatusBean resultBean) { if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - if (dataBeans.size() >= 1) { - personBeans = new ArrayList<>(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - String lng = bean.getPositionLng(); - String lat = bean.getPositionLat(); - if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { - Log.d(TAG, "经纬度异常"); - } else { - PointPersonBean personBean = new PointPersonBean(); - personBean.setPersonName(bean.getName()); - personBean.setPersonPhone(bean.getPhone()); - personBean.setPersonDept(bean.getDeptName()); - personBean.setPointTime(bean.getLastTimeFmt()); - personBean.setOnLine(bean.isOnLine()); - personBean.setPoint(new com.esri.arcgisruntime.geometry.Point( - Double.parseDouble(lng), - Double.parseDouble(lat), - SpatialReference.create(4326) - )); - personBeans.add(personBean); + List dataBeans = resultBean.getData(); + if (!dataBeans.isEmpty()) { + for (PersonStatusBean.DataDTO bean : dataBeans) { + if (bean.isOnLine()) { + String lng = bean.getPositionLng(); + String lat = bean.getPositionLat(); + if (!TextUtils.isEmpty(lng) || !TextUtils.isEmpty(lat)) { + PointPersonBean personBean = new PointPersonBean(); + personBean.setPersonName(bean.getName()); + personBean.setPhoneNumber(bean.getPhone()); + personBean.setPersonDept(bean.getDeptName()); + personBean.setLastOnlineTime(bean.getLastTimeFmt()); + personBean.setLastLng(Double.parseDouble(lng)); + personBean.setLastLat(Double.parseDouble(lat)); + personBeans.add(personBean); + } } } addPictureMarker(personBeans); - } else { - EasyToast.show(requireContext(), "当前没有人员在线"); } } } @@ -124,11 +116,10 @@ List overlayResultList = overlaysAsync.get(); if (!overlayResultList.isEmpty()) { IdentifyGraphicsOverlayResult identifyResult = overlayResultList.get(0); - com.esri.arcgisruntime.geometry.Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); + Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); for (PointPersonBean dataBean : personBeans) { - com.esri.arcgisruntime.geometry.Point beanPoint = dataBean.getPoint(); - if (Math.abs(beanPoint.getX() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && - Math.abs(beanPoint.getY() - point.getY()) <= LocaleConstant.DELTA_LAT_10 + if (Math.abs(dataBean.getLastLng() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && + Math.abs(dataBean.getLastLat() - point.getY()) <= LocaleConstant.DELTA_LAT_10 ) { Message message = weakReferenceHandler.obtainMessage(); message.what = 2021051901; @@ -149,6 +140,25 @@ }); } + private void addPictureMarker(List beans) { + for (PointPersonBean bean : beans) { + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(requireContext(), R.mipmap.on_line); + if (caseDrawable != null) { + PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); + pictureMarker.setWidth(64); + pictureMarker.setHeight(42); + pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 + GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); + ListenableList overlayGraphics = graphicsOverlay.getGraphics(); + overlayGraphics.add(new Graphic( + new Point(bean.getLastLng(), bean.getLastLat(), SpatialReferences.getWgs84()), + pictureMarker) + ); + graphicsOverlays.add(graphicsOverlay); + } + } + } + private final Handler.Callback callback = msg -> { switch (msg.what) { case 2021051901: @@ -160,14 +170,14 @@ TextView lastTimeView = popupView.findViewById(R.id.lastTimeView); userNameView.setText(dataBean.getPersonName()); deptNameView.setText(dataBean.getPersonDept()); - phoneNumberView.setText(dataBean.getPersonPhone()); - lastTimeView.setText(dataBean.getPointTime()); - QMUIPopups.popup(requireContext(), DeviceSizeUtil.dp2px(requireContext(), 250)) + phoneNumberView.setText(dataBean.getPhoneNumber()); + lastTimeView.setText(dataBean.getLastOnlineTime()); + QMUIPopups.popup(requireContext(), (int) (DeviceSizeUtil.obtainScreenWidth(requireContext()) * 0.8)) .preferredDirection(QMUIPopup.DIRECTION_BOTTOM) .view(popupView) .edgeProtection(DeviceSizeUtil.dp2px(requireContext(), 20)) .dimAmount(0.6f) - .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER) + .animStyle(QMUIPopup.ANIM_AUTO) .onDismiss(null) .show(viewBinding.mapView); break; @@ -177,24 +187,4 @@ } return true; }; - - private void addPictureMarker(List personBeans) { - Bitmap caseBitmap; - for (PointPersonBean bean : personBeans) { - if (bean.isOnLine()) { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.on_line); - } else { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.off_line); - } - BitmapDrawable caseDrawable = new BitmapDrawable(requireContext().getResources(), caseBitmap); - PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); - pictureMarker.setWidth(64); - pictureMarker.setHeight(42); - pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 - GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = graphicsOverlay.getGraphics(); - overlayGraphics.add(new Graphic(bean.getPoint(), pictureMarker)); - graphicsOverlays.add(graphicsOverlay); - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java index d50cd19..0493ba4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.ProcessPersonBean; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.retrofit.RetrofitServiceManager; @@ -19,7 +19,7 @@ public class PersonViewModel extends BaseViewModel { private final Gson gson = new Gson(); - public MutableLiveData personStatusModel = new MutableLiveData<>(); + public MutableLiveData personStatusModel = new MutableLiveData<>(); public MutableLiveData processPersonModel = new MutableLiveData<>(); public void obtainPersonByStatus(String deptid, String roleTips, String isOnLine) { @@ -41,7 +41,7 @@ String response = responseBody.string(); int responseCode = StringHelper.separateResponseCode(response); if (responseCode == 200) { - OnlinePersonBean resultBean = gson.fromJson(response, new TypeToken() { + PersonStatusBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); personStatusModel.setValue(resultBean); } diff --git a/app/src/main/res/layout/activity_online.xml b/app/src/main/res/layout/activity_online.xml deleted file mode 100644 index 8581f02..0000000 --- a/app/src/main/res/layout/activity_online.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 53acf2f..687c4c4 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -35,6 +35,7 @@ + @@ -45,14 +46,18 @@ + + + + diff --git a/app/build.gradle b/app/build.gradle index e260b7d..0aef2eb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -33,6 +33,10 @@ targetCompatibility JavaVersion.VERSION_1_8 } + packagingOptions { + exclude 'META-INF/DEPENDENCIES' + } + greendao { schemaVersion 1//数据库版本号 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 @@ -90,7 +94,7 @@ //视频播放器 implementation 'cn.jzvd:jiaozivideoplayer:7.6.0' //ArcGIS - implementation 'com.esri.arcgisruntime:arcgis-android:100.10.0' + implementation 'com.esri.arcgisruntime:arcgis-android:100.14.0' //上拉加载下拉刷新 implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0' //视频压缩 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d087ae2..ed1a0d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -79,7 +79,7 @@ - + diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java deleted file mode 100644 index d450256..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/model/OnlinePersonBean.java +++ /dev/null @@ -1,191 +0,0 @@ -package com.casic.dcms.mvvm.model; - -import java.util.List; - -public class OnlinePersonBean { - - private double code; - private String message; - private boolean success; - private List data; - - public double getCode() { - return code; - } - - public void setCode(double code) { - this.code = code; - } - - public String getMessage() { - return message; - } - - public void setMessage(String message) { - this.message = message; - } - - public boolean isSuccess() { - return success; - } - - public void setSuccess(boolean success) { - this.success = success; - } - - public List getData() { - return data; - } - - public void setData(List data) { - this.data = data; - } - - public static class DataBean { - - private String account; - private String deptId; - private String deptName; - private String deviceName; - private String id; - private String imei; - private String lastTime; - private String lastTimeFmt; - private String name; - private String networkNumber; - private boolean onLine; - private String phone; - private String positionLat; - private String positionLng; - private String targetId; - private String userId; - - public String getAccount() { - return account; - } - - public void setAccount(String account) { - this.account = account; - } - - public String getDeptId() { - return deptId; - } - - public void setDeptId(String deptId) { - this.deptId = deptId; - } - - public String getDeptName() { - return deptName; - } - - public void setDeptName(String deptName) { - this.deptName = deptName; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getImei() { - return imei; - } - - public void setImei(String imei) { - this.imei = imei; - } - - public String getLastTime() { - return lastTime; - } - - public void setLastTime(String lastTime) { - this.lastTime = lastTime; - } - - public String getLastTimeFmt() { - return lastTimeFmt; - } - - public void setLastTimeFmt(String lastTimeFmt) { - this.lastTimeFmt = lastTimeFmt; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getNetworkNumber() { - return networkNumber; - } - - public void setNetworkNumber(String networkNumber) { - this.networkNumber = networkNumber; - } - - public boolean isOnLine() { - return onLine; - } - - public void setOnLine(boolean onLine) { - this.onLine = onLine; - } - - public String getPhone() { - return phone; - } - - public void setPhone(String phone) { - this.phone = phone; - } - - public String getPositionLat() { - return positionLat; - } - - public void setPositionLat(String positionLat) { - this.positionLat = positionLat; - } - - public String getPositionLng() { - return positionLng; - } - - public void setPositionLng(String positionLng) { - this.positionLng = positionLng; - } - - public String getTargetId() { - return targetId; - } - - public void setTargetId(String targetId) { - this.targetId = targetId; - } - - public String getUserId() { - return userId; - } - - public void setUserId(String userId) { - this.userId = userId; - } - } -} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java new file mode 100644 index 0000000..33dc06d --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PersonStatusBean.java @@ -0,0 +1,199 @@ +package com.casic.dcms.mvvm.model; + +import java.util.List; + +public class PersonStatusBean { + + private int code; + private List data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataDTO { + private String account; + private String deptId; + private String deptName; + private String deviceName; + private String id; + private String imei; + private String lastTime; + private String lastTimeFmt; + private String name; + private String networkNumber; + private boolean onLine; + private String phone; + private String posLastTime; + private String positionLat; + private String positionLng; + private String targetId; + private String userId; + + public String getAccount() { + return account; + } + + public void setAccount(String account) { + this.account = account; + } + + public String getDeptId() { + return deptId; + } + + public void setDeptId(String deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getImei() { + return imei; + } + + public void setImei(String imei) { + this.imei = imei; + } + + public String getLastTime() { + return lastTime; + } + + public void setLastTime(String lastTime) { + this.lastTime = lastTime; + } + + public String getLastTimeFmt() { + return lastTimeFmt; + } + + public void setLastTimeFmt(String lastTimeFmt) { + this.lastTimeFmt = lastTimeFmt; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getNetworkNumber() { + return networkNumber; + } + + public void setNetworkNumber(String networkNumber) { + this.networkNumber = networkNumber; + } + + public boolean isOnLine() { + return onLine; + } + + public void setOnLine(boolean onLine) { + this.onLine = onLine; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getPosLastTime() { + return posLastTime; + } + + public void setPosLastTime(String posLastTime) { + this.posLastTime = posLastTime; + } + + public String getPositionLat() { + return positionLat; + } + + public void setPositionLat(String positionLat) { + this.positionLat = positionLat; + } + + public String getPositionLng() { + return positionLng; + } + + public void setPositionLng(String positionLng) { + this.positionLng = positionLng; + } + + public String getTargetId() { + return targetId; + } + + public void setTargetId(String targetId) { + this.targetId = targetId; + } + + public String getUserId() { + return userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + } +} diff --git a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java index 7979a32..a4e5f5f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java +++ b/app/src/main/java/com/casic/dcms/mvvm/model/PointPersonBean.java @@ -1,15 +1,12 @@ package com.casic.dcms.mvvm.model; -import com.esri.arcgisruntime.geometry.Point; - public class PointPersonBean { private String personName; - private String personPhone; + private String phoneNumber; private String personDept; - private String pointTime; - private Point point; - private boolean onLine; - + private String lastOnlineTime; + private double lastLat; + private double lastLng; public String getPersonName() { return personName; @@ -19,12 +16,12 @@ this.personName = personName; } - public String getPersonPhone() { - return personPhone; + public String getPhoneNumber() { + return phoneNumber; } - public void setPersonPhone(String personPhone) { - this.personPhone = personPhone; + public void setPhoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; } public String getPersonDept() { @@ -35,27 +32,27 @@ this.personDept = personDept; } - public String getPointTime() { - return pointTime; + public String getLastOnlineTime() { + return lastOnlineTime; } - public void setPointTime(String pointTime) { - this.pointTime = pointTime; + public void setLastOnlineTime(String lastOnlineTime) { + this.lastOnlineTime = lastOnlineTime; } - public Point getPoint() { - return point; + public double getLastLat() { + return lastLat; } - public void setPoint(Point point) { - this.point = point; + public void setLastLat(double lastLat) { + this.lastLat = lastLat; } - public boolean isOnLine() { - return onLine; + public double getLastLng() { + return lastLng; } - public void setOnLine(boolean onLine) { - this.onLine = onLine; + public void setLastLng(double lastLng) { + this.lastLng = lastLng; } } diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java index fd70872..a9430ac 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/ArcGISMapActivity.java @@ -32,6 +32,7 @@ import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -127,7 +128,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { - Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReference.create(4326)); + Point point = new Point(aMapLocation.getLongitude(), aMapLocation.getLatitude(), SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); } @@ -467,7 +468,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java index 005b947..6e423ee 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/CaseOnMapActivity.java @@ -28,7 +28,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -123,7 +123,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_CHECK); @@ -152,7 +152,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_HANDLE); @@ -181,7 +181,7 @@ } relatePointToCase(list, bean.getId(), lng, lat); - Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReference.create(4326)); + Point point = new Point(Double.parseDouble(lng), Double.parseDouble(lat), SpatialReferences.getWgs84()); pointList.add(point); } addPictureMarker(pointList, LocaleConstant.CASE_VERIFY); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java index 04c9098..dc960ed 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/DisplayMapActivity.java @@ -18,7 +18,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -77,7 +77,7 @@ /** * [116.598359, 28.247870, 0.000000, NaN] SR: 4326 */ - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); //标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -96,7 +96,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(point); viewBinding.mapView.setViewpointCenterAsync(point, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java new file mode 100644 index 0000000..42d2dc0 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PersonActivity.java @@ -0,0 +1,53 @@ +package com.casic.dcms.mvvm.view; + +import android.widget.LinearLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; + +import com.casic.dcms.R; +import com.casic.dcms.adapter.SubViewPagerAdapter; +import com.casic.dcms.databinding.ActivityPersonBinding; +import com.casic.dcms.mvvm.view.fragment.PersonListFragment; +import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; +import com.gyf.immersionbar.ImmersionBar; +import com.pengxh.androidx.lite.base.AndroidxBaseActivity; +import com.pengxh.androidx.lite.utils.DeviceSizeUtil; +import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; + +import java.util.ArrayList; +import java.util.List; + +public class PersonActivity extends AndroidxBaseActivity { + + private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; + + @Override + protected void setupTopBarLayout() { + ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); + ImmersionBar.with(this).statusBarDarkFont(false).init(); + + viewBinding.titleBarLayout.titleView.setText("在岗人员"); + viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); + } + + @Override + protected void initData() { + List fragmentList = new ArrayList<>(); + fragmentList.add(new PersonOnMapFragment()); + fragmentList.add(new PersonListFragment()); + SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); + viewBinding.personViewPager.setAdapter(adapter); + //绑定TabLayout + viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); + LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); + linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); + linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); + linearLayout.setDividerPadding(DeviceSizeUtil.dp2px(this, 12.5f)); + } + + @Override + protected void initEvent() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java deleted file mode 100644 index 0b8d0da..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PersonOnlineActivity.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.casic.dcms.mvvm.view; - -import android.widget.LinearLayout; - -import androidx.core.content.ContextCompat; -import androidx.fragment.app.Fragment; - -import com.casic.dcms.R; -import com.casic.dcms.adapter.SubViewPagerAdapter; -import com.casic.dcms.databinding.ActivityOnlineBinding; -import com.casic.dcms.mvvm.view.fragment.PersonOnLineFragment; -import com.casic.dcms.mvvm.view.fragment.PersonOnMapFragment; -import com.gyf.immersionbar.ImmersionBar; -import com.pengxh.androidx.lite.base.AndroidxBaseActivity; -import com.pengxh.androidx.lite.utils.ImmerseStatusBarUtil; - -import java.util.ArrayList; -import java.util.List; - -public class PersonOnlineActivity extends AndroidxBaseActivity { - - private final String[] pageTitles = new String[]{"人员分布", "人员列表"}; - - @Override - protected void setupTopBarLayout() { - ImmerseStatusBarUtil.setColor(this, ContextCompat.getColor(this, R.color.mainThemeColor)); - ImmersionBar.with(this).statusBarDarkFont(false).init(); - - viewBinding.titleBarLayout.titleView.setText("在岗人员"); - viewBinding.titleBarLayout.leftBackView.setOnClickListener(v -> finish()); - } - - @Override - protected void initData() { - List fragmentList = new ArrayList<>(); - fragmentList.add(new PersonOnMapFragment()); - fragmentList.add(new PersonOnLineFragment()); - SubViewPagerAdapter adapter = new SubViewPagerAdapter(getSupportFragmentManager(), pageTitles, fragmentList); - viewBinding.personViewPager.setAdapter(adapter); - //绑定TabLayout - viewBinding.personTabLayout.setupWithViewPager(viewBinding.personViewPager); - LinearLayout linearLayout = (LinearLayout) viewBinding.personTabLayout.getChildAt(0); - linearLayout.setShowDividers(LinearLayout.SHOW_DIVIDER_MIDDLE); - linearLayout.setDividerDrawable(ContextCompat.getDrawable(this, R.drawable.layout_divider_vertical)); - } - - @Override - protected void initEvent() { - - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java index f016ef4..ba4be05 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/PublicToiletActivity.java @@ -35,7 +35,7 @@ import com.casic.dcms.widgets.SignInDialog; import com.esri.arcgisruntime.data.ServiceFeatureTable; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.layers.FeatureLayer; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; @@ -97,7 +97,7 @@ viewBinding.locationStreetView.setTextColor(Color.RED); } else { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); @@ -279,7 +279,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 1200);//标注到指定经纬度并放大地图显示 //添加图片Marker addPictureMarker(point); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java index 4b18620..a17dce9 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/WorkerOnMapActivity.java @@ -23,7 +23,7 @@ import com.casic.dcms.utils.callback.ILocationListener; import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -83,7 +83,7 @@ @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - Point point = new Point(lng, lat, SpatialReference.create(4326)); + Point point = new Point(lng, lat, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 64000.0); //标注到指定经纬度并放大地图显示 addPictureMarker(point); viewBinding.mapView.setOnTouchListener(new DefaultMapViewOnTouchListener(this, viewBinding.mapView) { @@ -137,7 +137,7 @@ @Override public void onAMapLocationGet(AMapLocation aMapLocation) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point p = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); addPictureMarker(p); viewBinding.mapView.setViewpointCenterAsync(p, 2800.0); OtherUtils.dismissLoadingDialog(); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java index de55bbf..2910126 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/HomePageFragment.java @@ -22,7 +22,7 @@ import com.casic.dcms.mvvm.view.PackageCaseActivity; import com.casic.dcms.mvvm.view.OvertimeCaseActivity; import com.casic.dcms.mvvm.view.PackageCaseUploadActivity; -import com.casic.dcms.mvvm.view.PersonOnlineActivity; +import com.casic.dcms.mvvm.view.PersonActivity; import com.casic.dcms.mvvm.view.PipelineManagerActivity; import com.casic.dcms.mvvm.view.PublicToiletActivity; import com.casic.dcms.mvvm.view.QuickCaseUploadActivity; @@ -125,7 +125,7 @@ intent.setClass(requireContext(), DataAnalysisActivity.class); break; case "在岗人员": - intent.setClass(requireContext(), PersonOnlineActivity.class); + intent.setClass(requireContext(), PersonActivity.class); break; case "案卷查询": intent.setClass(requireContext(), SearchCaseActivity.class); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java index 197fef1..79d0c64 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/LightOnMapFragment.java @@ -18,11 +18,11 @@ import com.amap.api.location.AMapLocation; import com.casic.dcms.R; import com.casic.dcms.base.BaseApplication; +import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.databinding.FragmentLightMapBinding; import com.casic.dcms.greendao.LightLocalBeanDao; import com.casic.dcms.mvvm.model.ActionResultBean; import com.casic.dcms.mvvm.model.LightMapBean; -import com.casic.dcms.bean.LightLocalBean; import com.casic.dcms.mvvm.vm.LightViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.HttpRequestHelper; @@ -34,6 +34,7 @@ import com.esri.arcgisruntime.concurrent.ListenableFuture; import com.esri.arcgisruntime.geometry.Point; import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -139,7 +140,7 @@ //创建底图、并设置底图图层 Basemap basemap = new Basemap(ArcGisMapCreator.createBaseLayer()); arcGISMap.setBasemap(basemap); - Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReference.create(4326)); + Point point = new Point(LocaleConstant.DEFAULT_LNG, LocaleConstant.DEFAULT_LAT, SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800);//标注到指定经纬度并放大地图显示 viewBinding.mapView.setMap(arcGISMap); @@ -152,7 +153,7 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); viewBinding.mapView.setViewpointCenterAsync(point, 2800); List streetLightBeans = lightLocalBeanDao.loadAll(); @@ -162,11 +163,11 @@ double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } // if (Math.abs(longitude - Constant.DEFAULT_LNG) <= Constant.DELTA_LNG_75 && // Math.abs(latitude - Constant.DEFAULT_LAT) <= Constant.DELTA_LAT_75) { -// pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } } addPictureMarker(pointList); @@ -196,7 +197,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(minusList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -205,14 +206,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List minusList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - minusList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + minusList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(minusList); @@ -240,7 +241,7 @@ // Math.abs(latitude - Constant.DEFAULT_LAT) > DELTA_L) { // continue; // } -// expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); +// expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); // } // addPictureMarker(expandList); LocationHelper.obtainCurrentLocation(requireContext(), new ILocationListener() { @@ -249,14 +250,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List expandList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= DELTA_L && Math.abs(latitude - gcjToWgs[1]) <= DELTA_L) { - expandList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + expandList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(expandList); @@ -277,14 +278,14 @@ public void onAMapLocationGet(AMapLocation aMapLocation) { if (aMapLocation != null) { double[] gcjToWgs = LocationHelper.gcjToWgs(aMapLocation.getLongitude(), aMapLocation.getLatitude()); - Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReference.create(4326)); + Point point = new Point(gcjToWgs[0], gcjToWgs[1], SpatialReferences.getWgs84()); List pointList = new ArrayList<>(); for (LightLocalBean bean : lightLocalBeanDao.loadAll()) { double longitude = bean.getLongitude(); double latitude = bean.getLatitude(); if (Math.abs(longitude - gcjToWgs[0]) <= LocaleConstant.DELTA_LNG_75 && Math.abs(latitude - gcjToWgs[1]) <= LocaleConstant.DELTA_LAT_75) { - pointList.add(new Point(longitude, latitude, SpatialReference.create(4326))); + pointList.add(new Point(longitude, latitude, SpatialReferences.getWgs84())); } } addPictureMarker(pointList); diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java new file mode 100644 index 0000000..907fbc9 --- /dev/null +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonListFragment.java @@ -0,0 +1,76 @@ +package com.casic.dcms.mvvm.view.fragment; + +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; + +import com.casic.dcms.adapter.OnlinePersonAdapter; +import com.casic.dcms.databinding.FragmentPersonListBinding; +import com.casic.dcms.mvvm.model.PersonStatusBean; +import com.casic.dcms.mvvm.model.PersonBean; +import com.casic.dcms.mvvm.vm.PersonViewModel; +import com.pengxh.androidx.lite.base.AndroidxBaseFragment; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class PersonListFragment extends AndroidxBaseFragment { + + private final Set deptSet = new HashSet<>(); + private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 + private PersonViewModel statusViewModel; + private OnlinePersonAdapter onlinePersonAdapter; + private List deptList = new ArrayList<>(); //部门名集合 + + @Override + protected void setupTopBarLayout() { + + } + + @Override + protected void initData() { + statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); + statusViewModel.obtainPersonByStatus("", "", ""); + + onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); + } + + @Override + protected void initEvent() { + statusViewModel.personStatusModel.observe(this, new Observer() { + @Override + public void onChanged(PersonStatusBean resultBean) { + if (resultBean.getCode() == 200) { + List dataBeans = resultBean.getData(); + deptList.clear(); + for (PersonStatusBean.DataDTO bean : dataBeans) { + deptSet.add(bean.getDeptName()); + } + //hashSet去重然后转List + deptList = new ArrayList<>(deptSet); + if (deptList.size() > 0) { + deptAndPersons.clear(); + for (String title : deptList) { + List beanList = new ArrayList<>(); + for (PersonStatusBean.DataDTO dataBean : dataBeans) { + if (title.equals(dataBean.getDeptName())) { + PersonBean personBean = new PersonBean(); + personBean.setPersonDept(dataBean.getDeptName()); + personBean.setPersonName(dataBean.getName()); + personBean.setPersonPhone(dataBean.getPhone()); + personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); + personBean.setOnLine(dataBean.isOnLine()); + beanList.add(personBean); + } + } + deptAndPersons.add(beanList); + } + onlinePersonAdapter.setData(deptList, deptAndPersons); + viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); + } + } + } + }); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java deleted file mode 100644 index a6eb82a..0000000 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnLineFragment.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.casic.dcms.mvvm.view.fragment; - -import androidx.lifecycle.Observer; -import androidx.lifecycle.ViewModelProvider; - -import com.casic.dcms.adapter.OnlinePersonAdapter; -import com.casic.dcms.databinding.FragmentPersonListBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; -import com.casic.dcms.mvvm.model.PersonBean; -import com.casic.dcms.mvvm.vm.PersonViewModel; -import com.pengxh.androidx.lite.base.AndroidxBaseFragment; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -public class PersonOnLineFragment extends AndroidxBaseFragment { - - private final Set deptSet = new HashSet<>(); - private final List> deptAndPersons = new ArrayList<>(); //个人信息集合的集合 - private PersonViewModel statusViewModel; - private OnlinePersonAdapter onlinePersonAdapter; - private List deptList = new ArrayList<>(); //部门名集合 - - @Override - protected void setupTopBarLayout() { - - } - - @Override - protected void initData() { - statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); - statusViewModel.obtainPersonByStatus("", "", ""); - - onlinePersonAdapter = new OnlinePersonAdapter(requireContext()); - } - - @Override - protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { - @Override - public void onChanged(OnlinePersonBean resultBean) { - if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - deptList.clear(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - deptSet.add(bean.getDeptName()); - } - //hashSet去重然后转List - deptList = new ArrayList<>(deptSet); - if (deptList.size() > 0) { - deptAndPersons.clear(); - for (String title : deptList) { - List beanList = new ArrayList<>(); - for (OnlinePersonBean.DataBean dataBean : dataBeans) { - if (title.equals(dataBean.getDeptName())) { - PersonBean personBean = new PersonBean(); - personBean.setPersonDept(dataBean.getDeptName()); - personBean.setPersonName(dataBean.getName()); - personBean.setPersonPhone(dataBean.getPhone()); - personBean.setLastTimeFmt(dataBean.getLastTimeFmt()); - personBean.setOnLine(dataBean.isOnLine()); - beanList.add(personBean); - } - } - deptAndPersons.add(beanList); - } - onlinePersonAdapter.setData(deptList, deptAndPersons); - viewBinding.deptTreeView.setAdapter(onlinePersonAdapter); - } - } - } - }); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java index d1d50e0..132e91f 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java +++ b/app/src/main/java/com/casic/dcms/mvvm/view/fragment/PersonOnMapFragment.java @@ -1,30 +1,29 @@ package com.casic.dcms.mvvm.view.fragment; import android.annotation.SuppressLint; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.drawable.BitmapDrawable; import android.os.Handler; import android.os.Message; import android.text.TextUtils; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; +import androidx.core.content.ContextCompat; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import com.casic.dcms.R; import com.casic.dcms.databinding.FragmentPersonMapBinding; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.PointPersonBean; import com.casic.dcms.mvvm.vm.PersonViewModel; import com.casic.dcms.utils.ArcGisMapCreator; import com.casic.dcms.utils.LocaleConstant; import com.esri.arcgisruntime.concurrent.ListenableFuture; -import com.esri.arcgisruntime.geometry.SpatialReference; +import com.esri.arcgisruntime.geometry.Point; +import com.esri.arcgisruntime.geometry.SpatialReferences; import com.esri.arcgisruntime.mapping.ArcGISMap; import com.esri.arcgisruntime.mapping.Basemap; import com.esri.arcgisruntime.mapping.BasemapStyle; @@ -51,7 +50,6 @@ private WeakReferenceHandler weakReferenceHandler; private PersonViewModel statusViewModel; private ListenableList graphicsOverlays; - private List personBeans; @Override protected void setupTopBarLayout() { @@ -60,6 +58,7 @@ @Override protected void initData() { + weakReferenceHandler = new WeakReferenceHandler(callback); statusViewModel = new ViewModelProvider(this).get(PersonViewModel.class); statusViewModel.obtainPersonByStatus("", "", ""); @@ -71,42 +70,35 @@ arcGISMap.setBasemap(baseMap); viewBinding.mapView.setMap(arcGISMap); graphicsOverlays = viewBinding.mapView.getGraphicsOverlays(); - weakReferenceHandler = new WeakReferenceHandler(callback); } @SuppressLint("ClickableViewAccessibility") @Override protected void initEvent() { - statusViewModel.personStatusModel.observe(this, new Observer() { + List personBeans = new ArrayList<>(); + statusViewModel.personStatusModel.observe(this, new Observer() { @Override - public void onChanged(OnlinePersonBean resultBean) { + public void onChanged(PersonStatusBean resultBean) { if (resultBean.getCode() == 200) { - List dataBeans = resultBean.getData(); - if (dataBeans.size() >= 1) { - personBeans = new ArrayList<>(); - for (OnlinePersonBean.DataBean bean : dataBeans) { - String lng = bean.getPositionLng(); - String lat = bean.getPositionLat(); - if (TextUtils.isEmpty(lng) || TextUtils.isEmpty(lat)) { - Log.d(TAG, "经纬度异常"); - } else { - PointPersonBean personBean = new PointPersonBean(); - personBean.setPersonName(bean.getName()); - personBean.setPersonPhone(bean.getPhone()); - personBean.setPersonDept(bean.getDeptName()); - personBean.setPointTime(bean.getLastTimeFmt()); - personBean.setOnLine(bean.isOnLine()); - personBean.setPoint(new com.esri.arcgisruntime.geometry.Point( - Double.parseDouble(lng), - Double.parseDouble(lat), - SpatialReference.create(4326) - )); - personBeans.add(personBean); + List dataBeans = resultBean.getData(); + if (!dataBeans.isEmpty()) { + for (PersonStatusBean.DataDTO bean : dataBeans) { + if (bean.isOnLine()) { + String lng = bean.getPositionLng(); + String lat = bean.getPositionLat(); + if (!TextUtils.isEmpty(lng) || !TextUtils.isEmpty(lat)) { + PointPersonBean personBean = new PointPersonBean(); + personBean.setPersonName(bean.getName()); + personBean.setPhoneNumber(bean.getPhone()); + personBean.setPersonDept(bean.getDeptName()); + personBean.setLastOnlineTime(bean.getLastTimeFmt()); + personBean.setLastLng(Double.parseDouble(lng)); + personBean.setLastLat(Double.parseDouble(lat)); + personBeans.add(personBean); + } } } addPictureMarker(personBeans); - } else { - EasyToast.show(requireContext(), "当前没有人员在线"); } } } @@ -124,11 +116,10 @@ List overlayResultList = overlaysAsync.get(); if (!overlayResultList.isEmpty()) { IdentifyGraphicsOverlayResult identifyResult = overlayResultList.get(0); - com.esri.arcgisruntime.geometry.Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); + Point point = identifyResult.getGraphicsOverlay().getExtent().getCenter(); for (PointPersonBean dataBean : personBeans) { - com.esri.arcgisruntime.geometry.Point beanPoint = dataBean.getPoint(); - if (Math.abs(beanPoint.getX() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && - Math.abs(beanPoint.getY() - point.getY()) <= LocaleConstant.DELTA_LAT_10 + if (Math.abs(dataBean.getLastLng() - point.getX()) <= LocaleConstant.DELTA_LNG_10 && + Math.abs(dataBean.getLastLat() - point.getY()) <= LocaleConstant.DELTA_LAT_10 ) { Message message = weakReferenceHandler.obtainMessage(); message.what = 2021051901; @@ -149,6 +140,25 @@ }); } + private void addPictureMarker(List beans) { + for (PointPersonBean bean : beans) { + BitmapDrawable caseDrawable = (BitmapDrawable) ContextCompat.getDrawable(requireContext(), R.mipmap.on_line); + if (caseDrawable != null) { + PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); + pictureMarker.setWidth(64); + pictureMarker.setHeight(42); + pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 + GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); + ListenableList overlayGraphics = graphicsOverlay.getGraphics(); + overlayGraphics.add(new Graphic( + new Point(bean.getLastLng(), bean.getLastLat(), SpatialReferences.getWgs84()), + pictureMarker) + ); + graphicsOverlays.add(graphicsOverlay); + } + } + } + private final Handler.Callback callback = msg -> { switch (msg.what) { case 2021051901: @@ -160,14 +170,14 @@ TextView lastTimeView = popupView.findViewById(R.id.lastTimeView); userNameView.setText(dataBean.getPersonName()); deptNameView.setText(dataBean.getPersonDept()); - phoneNumberView.setText(dataBean.getPersonPhone()); - lastTimeView.setText(dataBean.getPointTime()); - QMUIPopups.popup(requireContext(), DeviceSizeUtil.dp2px(requireContext(), 250)) + phoneNumberView.setText(dataBean.getPhoneNumber()); + lastTimeView.setText(dataBean.getLastOnlineTime()); + QMUIPopups.popup(requireContext(), (int) (DeviceSizeUtil.obtainScreenWidth(requireContext()) * 0.8)) .preferredDirection(QMUIPopup.DIRECTION_BOTTOM) .view(popupView) .edgeProtection(DeviceSizeUtil.dp2px(requireContext(), 20)) .dimAmount(0.6f) - .animStyle(QMUIPopup.ANIM_GROW_FROM_CENTER) + .animStyle(QMUIPopup.ANIM_AUTO) .onDismiss(null) .show(viewBinding.mapView); break; @@ -177,24 +187,4 @@ } return true; }; - - private void addPictureMarker(List personBeans) { - Bitmap caseBitmap; - for (PointPersonBean bean : personBeans) { - if (bean.isOnLine()) { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.on_line); - } else { - caseBitmap = BitmapFactory.decodeResource(requireContext().getResources(), R.mipmap.off_line); - } - BitmapDrawable caseDrawable = new BitmapDrawable(requireContext().getResources(), caseBitmap); - PictureMarkerSymbol pictureMarker = new PictureMarkerSymbol(caseDrawable); - pictureMarker.setWidth(64); - pictureMarker.setHeight(42); - pictureMarker.loadAsync(); //异步加载Marker,防止阻塞 - GraphicsOverlay graphicsOverlay = new GraphicsOverlay(); - ListenableList overlayGraphics = graphicsOverlay.getGraphics(); - overlayGraphics.add(new Graphic(bean.getPoint(), pictureMarker)); - graphicsOverlays.add(graphicsOverlay); - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java index d50cd19..0493ba4 100644 --- a/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java +++ b/app/src/main/java/com/casic/dcms/mvvm/vm/PersonViewModel.java @@ -2,7 +2,7 @@ import androidx.lifecycle.MutableLiveData; -import com.casic.dcms.mvvm.model.OnlinePersonBean; +import com.casic.dcms.mvvm.model.PersonStatusBean; import com.casic.dcms.mvvm.model.ProcessPersonBean; import com.casic.dcms.utils.StringHelper; import com.casic.dcms.utils.retrofit.RetrofitServiceManager; @@ -19,7 +19,7 @@ public class PersonViewModel extends BaseViewModel { private final Gson gson = new Gson(); - public MutableLiveData personStatusModel = new MutableLiveData<>(); + public MutableLiveData personStatusModel = new MutableLiveData<>(); public MutableLiveData processPersonModel = new MutableLiveData<>(); public void obtainPersonByStatus(String deptid, String roleTips, String isOnLine) { @@ -41,7 +41,7 @@ String response = responseBody.string(); int responseCode = StringHelper.separateResponseCode(response); if (responseCode == 200) { - OnlinePersonBean resultBean = gson.fromJson(response, new TypeToken() { + PersonStatusBean resultBean = gson.fromJson(response, new TypeToken() { }.getType()); personStatusModel.setValue(resultBean); } diff --git a/app/src/main/res/layout/activity_online.xml b/app/src/main/res/layout/activity_online.xml deleted file mode 100644 index 8581f02..0000000 --- a/app/src/main/res/layout/activity_online.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_person.xml b/app/src/main/res/layout/activity_person.xml new file mode 100644 index 0000000..8581f02 --- /dev/null +++ b/app/src/main/res/layout/activity_person.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + \ No newline at end of file