diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
new file mode 100644
index 0000000..f1704d0
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
@@ -0,0 +1,114 @@
+package com.casic.br.app.view
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.app.R
+import com.casic.br.app.databinding.ActivityCheckHistoryDetailBinding
+import com.casic.br.app.extensions.initImmersionBar
+import com.casic.br.app.model.CheckHistoryDetailModel
+import com.casic.br.app.model.CheckHistoryModel
+import com.casic.br.app.vm.CheckHistoryViewModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class CheckHistoryDetailActivity : KotlinBaseActivity() {
+
+ private val context = this
+ private val gson by lazy { Gson() }
+ private val marginOffset by lazy { 10.dp2px(this) }
+ private lateinit var checkHistoryViewModel: CheckHistoryViewModel
+
+ override fun initEvent() {
+
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ val extra = intent.getStringExtra(Constant.INTENT_PARAM)
+ val rowsModel = gson.fromJson(
+ extra, object : TypeToken() {}.type
+ )
+ binding.checkTimeView.text =
+ "${rowsModel.inspectionDate} ${rowsModel.startTime}-${rowsModel.endTime}"
+ binding.checkSiteView.text = rowsModel.inspectionAddress
+ binding.troubleCountView.text = rowsModel.alarmCount
+ binding.checkPersonView.text = rowsModel.inspectionUser
+
+ //列表上部统计
+ binding.countView.text = rowsModel.inspectionUser
+
+ checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ checkHistoryViewModel.getCheckHistoryDetailById(this, rowsModel.id)
+ checkHistoryViewModel.detailResult.observe(this) {
+ if (it.code == 200) {
+ val detailAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_check_history_detail, it.data
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: CheckHistoryDetailModel.DataModel
+ ) {
+ viewHolder.setText(
+ R.id.troubleTypeView, "${item.mainClassName}-${item.subClassName}"
+ ).setText(R.id.troubleNameView, item.name)
+ .setText(R.id.troubleContentView, item.content)
+// val gridView = viewHolder.getView(R.id.troubleImageView)
+// val imageAdapter = ReadOnlyImageAdapter(context, item.imageList)
+// gridView.adapter = imageAdapter
+// gridView.onItemClickListener =
+// AdapterView.OnItemClickListener { adapterView, view, position, l ->
+//
+// }
+ }
+ }
+ binding.recyclerView.adapter = detailAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
+ }
+ }
+ }
+
+ override fun initViewBinding(): ActivityCheckHistoryDetailBinding {
+ return ActivityCheckHistoryDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ checkHistoryViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+ LoadState.Success -> {
+ LoadingDialogHub.dismiss()
+ }
+
+ LoadState.Fail -> {
+ LoadingDialogHub.dismiss()
+ "数据加载失败,请重试".show(this)
+ }
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.themeColor)
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
new file mode 100644
index 0000000..f1704d0
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
@@ -0,0 +1,114 @@
+package com.casic.br.app.view
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.app.R
+import com.casic.br.app.databinding.ActivityCheckHistoryDetailBinding
+import com.casic.br.app.extensions.initImmersionBar
+import com.casic.br.app.model.CheckHistoryDetailModel
+import com.casic.br.app.model.CheckHistoryModel
+import com.casic.br.app.vm.CheckHistoryViewModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class CheckHistoryDetailActivity : KotlinBaseActivity() {
+
+ private val context = this
+ private val gson by lazy { Gson() }
+ private val marginOffset by lazy { 10.dp2px(this) }
+ private lateinit var checkHistoryViewModel: CheckHistoryViewModel
+
+ override fun initEvent() {
+
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ val extra = intent.getStringExtra(Constant.INTENT_PARAM)
+ val rowsModel = gson.fromJson(
+ extra, object : TypeToken() {}.type
+ )
+ binding.checkTimeView.text =
+ "${rowsModel.inspectionDate} ${rowsModel.startTime}-${rowsModel.endTime}"
+ binding.checkSiteView.text = rowsModel.inspectionAddress
+ binding.troubleCountView.text = rowsModel.alarmCount
+ binding.checkPersonView.text = rowsModel.inspectionUser
+
+ //列表上部统计
+ binding.countView.text = rowsModel.inspectionUser
+
+ checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ checkHistoryViewModel.getCheckHistoryDetailById(this, rowsModel.id)
+ checkHistoryViewModel.detailResult.observe(this) {
+ if (it.code == 200) {
+ val detailAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_check_history_detail, it.data
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: CheckHistoryDetailModel.DataModel
+ ) {
+ viewHolder.setText(
+ R.id.troubleTypeView, "${item.mainClassName}-${item.subClassName}"
+ ).setText(R.id.troubleNameView, item.name)
+ .setText(R.id.troubleContentView, item.content)
+// val gridView = viewHolder.getView(R.id.troubleImageView)
+// val imageAdapter = ReadOnlyImageAdapter(context, item.imageList)
+// gridView.adapter = imageAdapter
+// gridView.onItemClickListener =
+// AdapterView.OnItemClickListener { adapterView, view, position, l ->
+//
+// }
+ }
+ }
+ binding.recyclerView.adapter = detailAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
+ }
+ }
+ }
+
+ override fun initViewBinding(): ActivityCheckHistoryDetailBinding {
+ return ActivityCheckHistoryDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ checkHistoryViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+ LoadState.Success -> {
+ LoadingDialogHub.dismiss()
+ }
+
+ LoadState.Fail -> {
+ LoadingDialogHub.dismiss()
+ "数据加载失败,请重试".show(this)
+ }
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.themeColor)
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
index f0bfec2..05226a9 100644
--- a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
+++ b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
@@ -4,6 +4,7 @@
import androidx.lifecycle.MutableLiveData
import com.casic.br.app.extensions.getResponseCode
import com.casic.br.app.extensions.getResponseMessage
+import com.casic.br.app.model.CheckHistoryDetailModel
import com.casic.br.app.model.CheckHistoryModel
import com.casic.br.app.retrofit.RetrofitServiceManager
import com.google.gson.Gson
@@ -17,10 +18,11 @@
private val gson by lazy { Gson() }
val historyResult = MutableLiveData()
+ val detailResult = MutableLiveData()
- fun getCheckHistoryByPage(context: Context, keywords: String, offset: Int) = launch({
+ fun getCheckHistoryByPage(context: Context, offset: Int) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getCheckHistoryByPage(keywords, offset)
+ val response = RetrofitServiceManager.getCheckHistoryByPage(offset)
when (response.getResponseCode()) {
200 -> {
loadState.value = LoadState.Success
@@ -38,4 +40,25 @@
loadState.value = LoadState.Fail
it.localizedMessage?.show(context)
})
+
+ fun getCheckHistoryDetailById(context: Context, inspectionId: String) = launch({
+ loadState.value = LoadState.Loading
+ val response = RetrofitServiceManager.getCheckHistoryDetailById(inspectionId)
+ when (response.getResponseCode()) {
+ 200 -> {
+ loadState.value = LoadState.Success
+ detailResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+
+ else -> {
+ loadState.value = LoadState.Fail
+ response.getResponseMessage().show(context)
+ }
+ }
+ }, {
+ loadState.value = LoadState.Fail
+ it.localizedMessage?.show(context)
+ })
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
new file mode 100644
index 0000000..f1704d0
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
@@ -0,0 +1,114 @@
+package com.casic.br.app.view
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.app.R
+import com.casic.br.app.databinding.ActivityCheckHistoryDetailBinding
+import com.casic.br.app.extensions.initImmersionBar
+import com.casic.br.app.model.CheckHistoryDetailModel
+import com.casic.br.app.model.CheckHistoryModel
+import com.casic.br.app.vm.CheckHistoryViewModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class CheckHistoryDetailActivity : KotlinBaseActivity() {
+
+ private val context = this
+ private val gson by lazy { Gson() }
+ private val marginOffset by lazy { 10.dp2px(this) }
+ private lateinit var checkHistoryViewModel: CheckHistoryViewModel
+
+ override fun initEvent() {
+
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ val extra = intent.getStringExtra(Constant.INTENT_PARAM)
+ val rowsModel = gson.fromJson(
+ extra, object : TypeToken() {}.type
+ )
+ binding.checkTimeView.text =
+ "${rowsModel.inspectionDate} ${rowsModel.startTime}-${rowsModel.endTime}"
+ binding.checkSiteView.text = rowsModel.inspectionAddress
+ binding.troubleCountView.text = rowsModel.alarmCount
+ binding.checkPersonView.text = rowsModel.inspectionUser
+
+ //列表上部统计
+ binding.countView.text = rowsModel.inspectionUser
+
+ checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ checkHistoryViewModel.getCheckHistoryDetailById(this, rowsModel.id)
+ checkHistoryViewModel.detailResult.observe(this) {
+ if (it.code == 200) {
+ val detailAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_check_history_detail, it.data
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: CheckHistoryDetailModel.DataModel
+ ) {
+ viewHolder.setText(
+ R.id.troubleTypeView, "${item.mainClassName}-${item.subClassName}"
+ ).setText(R.id.troubleNameView, item.name)
+ .setText(R.id.troubleContentView, item.content)
+// val gridView = viewHolder.getView(R.id.troubleImageView)
+// val imageAdapter = ReadOnlyImageAdapter(context, item.imageList)
+// gridView.adapter = imageAdapter
+// gridView.onItemClickListener =
+// AdapterView.OnItemClickListener { adapterView, view, position, l ->
+//
+// }
+ }
+ }
+ binding.recyclerView.adapter = detailAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
+ }
+ }
+ }
+
+ override fun initViewBinding(): ActivityCheckHistoryDetailBinding {
+ return ActivityCheckHistoryDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ checkHistoryViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+ LoadState.Success -> {
+ LoadingDialogHub.dismiss()
+ }
+
+ LoadState.Fail -> {
+ LoadingDialogHub.dismiss()
+ "数据加载失败,请重试".show(this)
+ }
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.themeColor)
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
index f0bfec2..05226a9 100644
--- a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
+++ b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
@@ -4,6 +4,7 @@
import androidx.lifecycle.MutableLiveData
import com.casic.br.app.extensions.getResponseCode
import com.casic.br.app.extensions.getResponseMessage
+import com.casic.br.app.model.CheckHistoryDetailModel
import com.casic.br.app.model.CheckHistoryModel
import com.casic.br.app.retrofit.RetrofitServiceManager
import com.google.gson.Gson
@@ -17,10 +18,11 @@
private val gson by lazy { Gson() }
val historyResult = MutableLiveData()
+ val detailResult = MutableLiveData()
- fun getCheckHistoryByPage(context: Context, keywords: String, offset: Int) = launch({
+ fun getCheckHistoryByPage(context: Context, offset: Int) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getCheckHistoryByPage(keywords, offset)
+ val response = RetrofitServiceManager.getCheckHistoryByPage(offset)
when (response.getResponseCode()) {
200 -> {
loadState.value = LoadState.Success
@@ -38,4 +40,25 @@
loadState.value = LoadState.Fail
it.localizedMessage?.show(context)
})
+
+ fun getCheckHistoryDetailById(context: Context, inspectionId: String) = launch({
+ loadState.value = LoadState.Loading
+ val response = RetrofitServiceManager.getCheckHistoryDetailById(inspectionId)
+ when (response.getResponseCode()) {
+ 200 -> {
+ loadState.value = LoadState.Success
+ detailResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+
+ else -> {
+ loadState.value = LoadState.Fail
+ response.getResponseMessage().show(context)
+ }
+ }
+ }, {
+ loadState.value = LoadState.Fail
+ it.localizedMessage?.show(context)
+ })
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml
new file mode 100644
index 0000000..66c14c7
--- /dev/null
+++ b/app/src/main/res/layout/activity_check_history_detail.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
new file mode 100644
index 0000000..f1704d0
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
@@ -0,0 +1,114 @@
+package com.casic.br.app.view
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.app.R
+import com.casic.br.app.databinding.ActivityCheckHistoryDetailBinding
+import com.casic.br.app.extensions.initImmersionBar
+import com.casic.br.app.model.CheckHistoryDetailModel
+import com.casic.br.app.model.CheckHistoryModel
+import com.casic.br.app.vm.CheckHistoryViewModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class CheckHistoryDetailActivity : KotlinBaseActivity() {
+
+ private val context = this
+ private val gson by lazy { Gson() }
+ private val marginOffset by lazy { 10.dp2px(this) }
+ private lateinit var checkHistoryViewModel: CheckHistoryViewModel
+
+ override fun initEvent() {
+
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ val extra = intent.getStringExtra(Constant.INTENT_PARAM)
+ val rowsModel = gson.fromJson(
+ extra, object : TypeToken() {}.type
+ )
+ binding.checkTimeView.text =
+ "${rowsModel.inspectionDate} ${rowsModel.startTime}-${rowsModel.endTime}"
+ binding.checkSiteView.text = rowsModel.inspectionAddress
+ binding.troubleCountView.text = rowsModel.alarmCount
+ binding.checkPersonView.text = rowsModel.inspectionUser
+
+ //列表上部统计
+ binding.countView.text = rowsModel.inspectionUser
+
+ checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ checkHistoryViewModel.getCheckHistoryDetailById(this, rowsModel.id)
+ checkHistoryViewModel.detailResult.observe(this) {
+ if (it.code == 200) {
+ val detailAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_check_history_detail, it.data
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: CheckHistoryDetailModel.DataModel
+ ) {
+ viewHolder.setText(
+ R.id.troubleTypeView, "${item.mainClassName}-${item.subClassName}"
+ ).setText(R.id.troubleNameView, item.name)
+ .setText(R.id.troubleContentView, item.content)
+// val gridView = viewHolder.getView(R.id.troubleImageView)
+// val imageAdapter = ReadOnlyImageAdapter(context, item.imageList)
+// gridView.adapter = imageAdapter
+// gridView.onItemClickListener =
+// AdapterView.OnItemClickListener { adapterView, view, position, l ->
+//
+// }
+ }
+ }
+ binding.recyclerView.adapter = detailAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
+ }
+ }
+ }
+
+ override fun initViewBinding(): ActivityCheckHistoryDetailBinding {
+ return ActivityCheckHistoryDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ checkHistoryViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+ LoadState.Success -> {
+ LoadingDialogHub.dismiss()
+ }
+
+ LoadState.Fail -> {
+ LoadingDialogHub.dismiss()
+ "数据加载失败,请重试".show(this)
+ }
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.themeColor)
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
index f0bfec2..05226a9 100644
--- a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
+++ b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
@@ -4,6 +4,7 @@
import androidx.lifecycle.MutableLiveData
import com.casic.br.app.extensions.getResponseCode
import com.casic.br.app.extensions.getResponseMessage
+import com.casic.br.app.model.CheckHistoryDetailModel
import com.casic.br.app.model.CheckHistoryModel
import com.casic.br.app.retrofit.RetrofitServiceManager
import com.google.gson.Gson
@@ -17,10 +18,11 @@
private val gson by lazy { Gson() }
val historyResult = MutableLiveData()
+ val detailResult = MutableLiveData()
- fun getCheckHistoryByPage(context: Context, keywords: String, offset: Int) = launch({
+ fun getCheckHistoryByPage(context: Context, offset: Int) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getCheckHistoryByPage(keywords, offset)
+ val response = RetrofitServiceManager.getCheckHistoryByPage(offset)
when (response.getResponseCode()) {
200 -> {
loadState.value = LoadState.Success
@@ -38,4 +40,25 @@
loadState.value = LoadState.Fail
it.localizedMessage?.show(context)
})
+
+ fun getCheckHistoryDetailById(context: Context, inspectionId: String) = launch({
+ loadState.value = LoadState.Loading
+ val response = RetrofitServiceManager.getCheckHistoryDetailById(inspectionId)
+ when (response.getResponseCode()) {
+ 200 -> {
+ loadState.value = LoadState.Success
+ detailResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+
+ else -> {
+ loadState.value = LoadState.Fail
+ response.getResponseMessage().show(context)
+ }
+ }
+ }, {
+ loadState.value = LoadState.Fail
+ it.localizedMessage?.show(context)
+ })
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml
new file mode 100644
index 0000000..66c14c7
--- /dev/null
+++ b/app/src/main/res/layout/activity_check_history_detail.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_check_history.xml b/app/src/main/res/layout/item_check_history.xml
index 9c372d3..4b42aa4 100644
--- a/app/src/main/res/layout/item_check_history.xml
+++ b/app/src/main/res/layout/item_check_history.xml
@@ -5,7 +5,7 @@
android:background="#466FB8"
android:gravity="center"
android:orientation="vertical"
- android:padding="@dimen/dp_5">
+ android:padding="@dimen/dp_7">
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d1c273b..544ae3b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -58,6 +58,7 @@
+
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
new file mode 100644
index 0000000..bb21b14
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryDetailModel.java
@@ -0,0 +1,163 @@
+package com.casic.br.app.model;
+
+import java.util.List;
+
+public class CheckHistoryDetailModel {
+
+ 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 DataModel {
+ private String alarmMenuId;
+ private String basis;
+ private String content;
+ private String id;
+ private String imageList;
+ private String inspectionId;
+ private String mainClass;
+ private String mainClassName;
+ private String name;
+ private String scene;
+ private String sceneName;
+ private String subClass;
+ private String subClassName;
+
+ public String getAlarmMenuId() {
+ return alarmMenuId;
+ }
+
+ public void setAlarmMenuId(String alarmMenuId) {
+ this.alarmMenuId = alarmMenuId;
+ }
+
+ public String getBasis() {
+ return basis;
+ }
+
+ public void setBasis(String basis) {
+ this.basis = basis;
+ }
+
+ public String getContent() {
+ return content;
+ }
+
+ public void setContent(String content) {
+ this.content = content;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getImageList() {
+ return imageList;
+ }
+
+ public void setImageList(String imageList) {
+ this.imageList = imageList;
+ }
+
+ public String getInspectionId() {
+ return inspectionId;
+ }
+
+ public void setInspectionId(String inspectionId) {
+ this.inspectionId = inspectionId;
+ }
+
+ public String getMainClass() {
+ return mainClass;
+ }
+
+ public void setMainClass(String mainClass) {
+ this.mainClass = mainClass;
+ }
+
+ public String getMainClassName() {
+ return mainClassName;
+ }
+
+ public void setMainClassName(String mainClassName) {
+ this.mainClassName = mainClassName;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getScene() {
+ return scene;
+ }
+
+ public void setScene(String scene) {
+ this.scene = scene;
+ }
+
+ public String getSceneName() {
+ return sceneName;
+ }
+
+ public void setSceneName(String sceneName) {
+ this.sceneName = sceneName;
+ }
+
+ public String getSubClass() {
+ return subClass;
+ }
+
+ public void setSubClass(String subClass) {
+ this.subClass = subClass;
+ }
+
+ public String getSubClassName() {
+ return subClassName;
+ }
+
+ public void setSubClassName(String subClassName) {
+ this.subClassName = subClassName;
+ }
+ }
+}
diff --git a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
index da1e09d..a18fe7c 100644
--- a/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
+++ b/app/src/main/java/com/casic/br/app/model/CheckHistoryModel.java
@@ -1,4 +1,130 @@
package com.casic.br.app.model;
+import java.util.List;
+
public class CheckHistoryModel {
+
+ private int code;
+ private DataModel data;
+ private String message;
+ private boolean success;
+
+ public int getCode() {
+ return code;
+ }
+
+ public void setCode(int code) {
+ this.code = code;
+ }
+
+ public DataModel getData() {
+ return data;
+ }
+
+ public void setData(DataModel 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 DataModel {
+ private List rows;
+ private int total;
+
+ public List getRows() {
+ return rows;
+ }
+
+ public void setRows(List rows) {
+ this.rows = rows;
+ }
+
+ public int getTotal() {
+ return total;
+ }
+
+ public void setTotal(int total) {
+ this.total = total;
+ }
+
+ public static class RowsModel {
+ private String alarmCount;
+ private String endTime;
+ private String id;
+ private String inspectionAddress;
+ private String inspectionDate;
+ private String inspectionUser;
+ private String startTime;
+
+ public String getAlarmCount() {
+ return alarmCount;
+ }
+
+ public void setAlarmCount(String alarmCount) {
+ this.alarmCount = alarmCount;
+ }
+
+ public String getEndTime() {
+ return endTime;
+ }
+
+ public void setEndTime(String endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getInspectionAddress() {
+ return inspectionAddress;
+ }
+
+ public void setInspectionAddress(String inspectionAddress) {
+ this.inspectionAddress = inspectionAddress;
+ }
+
+ public String getInspectionDate() {
+ return inspectionDate;
+ }
+
+ public void setInspectionDate(String inspectionDate) {
+ this.inspectionDate = inspectionDate;
+ }
+
+ public String getInspectionUser() {
+ return inspectionUser;
+ }
+
+ public void setInspectionUser(String inspectionUser) {
+ this.inspectionUser = inspectionUser;
+ }
+
+ public String getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(String startTime) {
+ this.startTime = startTime;
+ }
+ }
+ }
}
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
index 0b768f5..ab76720 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitService.kt
@@ -7,6 +7,7 @@
import retrofit2.http.Multipart
import retrofit2.http.POST
import retrofit2.http.PartMap
+import retrofit2.http.Query
import retrofit2.http.QueryMap
interface RetrofitService {
@@ -32,12 +33,20 @@
/**
* 获取巡查记录
*/
- @POST("/meter/file/listPage")
+ @GET("/inspection-record/listPage")
suspend fun getCheckHistoryByPage(
@Header("token") token: String,
- @Body requestBody: RequestBody,
- @QueryMap limit: Map,
- @QueryMap offset: Map
+ @Query("offset") offset: Int,
+ @Query("limit") limit: Int
+ ): String
+
+ /**
+ * 根据巡查ID获取此次记录的详情
+ */
+ @GET("/inspection-record/listAlarmByInspection")
+ suspend fun getCheckHistoryDetailById(
+ @Header("token") token: String,
+ @Query("inspectionId") inspectionId: String
): String
/**
diff --git a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
index e1a3ed9..3cae5b6 100644
--- a/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
+++ b/app/src/main/java/com/casic/br/app/retrofit/RetrofitServiceManager.kt
@@ -57,24 +57,20 @@
/**
* 获取巡查记录
*/
- suspend fun getCheckHistoryByPage(keywords: String, offset: Int): String {
- val param = JsonObject()
- param.addProperty("keywords", keywords)
- val requestBody = param.toString().toRequestBody(
- "application/json;charset=UTF-8".toMediaType()
- )
-
- val limitMap = HashMap()
- limitMap["limit"] = LocaleConstant.PAGE_LIMIT
-
- val offsetMap = HashMap()
- offsetMap["offset"] = offset
+ suspend fun getCheckHistoryByPage(offset: Int): String {
return api.getCheckHistoryByPage(
- AuthenticationHelper.token, requestBody, limitMap, offsetMap
+ AuthenticationHelper.token, offset, LocaleConstant.PAGE_LIMIT
)
}
/**
+ * 根据巡查ID获取此次记录的详情
+ */
+ suspend fun getCheckHistoryDetailById(inspectionId: String): String {
+ return api.getCheckHistoryDetailById(AuthenticationHelper.token, inspectionId)
+ }
+
+ /**
* 获取标准规范文件列表
*/
suspend fun getStandardFileByPage(keywords: String, offset: Int): String {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
index a22f0a9..f75e755 100644
--- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt
@@ -1,6 +1,5 @@
package com.casic.br.app.view
-import android.graphics.Color
import android.os.Bundle
import android.os.Handler
import android.os.Message
@@ -13,8 +12,11 @@
import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
import com.pengxh.kt.lite.adapter.ViewHolder
import com.pengxh.kt.lite.base.KotlinBaseActivity
-import com.pengxh.kt.lite.divider.RecyclerViewItemDivider
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.navigatePageTo
import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.extensions.toJson
import com.pengxh.kt.lite.utils.LoadState
import com.pengxh.kt.lite.utils.LoadingDialogHub
import com.pengxh.kt.lite.utils.WeakReferenceHandler
@@ -22,11 +24,12 @@
class CheckHistoryActivity : KotlinBaseActivity(), Handler.Callback {
+ private val kTag = "CheckHistoryActivity"
+ private val marginOffset by lazy { 10.dp2px(this) }
private lateinit var weakReferenceHandler: WeakReferenceHandler
private lateinit var checkHistoryViewModel: CheckHistoryViewModel
- private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
- private var dataBeans: MutableList = ArrayList()
- private var keywords = ""
+ private lateinit var checkHistoryAdapter: NormalRecyclerAdapter
+ private var dataBeans: MutableList = ArrayList()
private var page = 1
private var isRefresh = false
private var isLoadMore = false
@@ -48,60 +51,63 @@
override fun initOnCreate(savedInstanceState: Bundle?) {
weakReferenceHandler = WeakReferenceHandler(this)
checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ getCheckHistoryByPage()
checkHistoryViewModel.historyResult.observe(this) {
-// if (it.code == 200) {
-// val dataRows = it.data?.rows!!
-// when {
-// isRefresh -> {
-// checkHistoryAdapter.setRefreshData(dataRows)
-// binding.refreshLayout.finishRefresh()
-// isRefresh = false
-// }
-//
-// isLoadMore -> {
-// if (dataRows.size == 0) {
-// "到底了,别拉了".show(this)
-// }
-// checkHistoryAdapter.setLoadMoreData(dataRows)
-// binding.refreshLayout.finishLoadMore()
-// isLoadMore = false
-// }
-//
-// else -> {
-// dataBeans = dataRows
-// weakReferenceHandler.sendEmptyMessage(2024030503)
-// }
-// }
-// }
+ if (it.code == 200) {
+ val dataRows = it.data?.rows!!
+ when {
+ isRefresh -> {
+ checkHistoryAdapter.setRefreshData(dataRows)
+ binding.refreshLayout.finishRefresh()
+ isRefresh = false
+ }
+
+ isLoadMore -> {
+ if (dataRows.size == 0) {
+ "到底了,别拉了".show(this)
+ }
+ checkHistoryAdapter.setLoadMoreData(dataRows)
+ binding.refreshLayout.finishLoadMore()
+ isLoadMore = false
+ }
+
+ else -> {
+ dataBeans = dataRows
+ weakReferenceHandler.sendEmptyMessage(2024030503)
+ }
+ }
+ }
}
}
private fun getCheckHistoryByPage() {
- checkHistoryViewModel.getCheckHistoryByPage(this, keywords, page)
+ checkHistoryViewModel.getCheckHistoryByPage(this, page)
}
override fun handleMessage(msg: Message): Boolean {
when (msg.what) {
2024030503 -> {
checkHistoryAdapter = object :
- NormalRecyclerAdapter(
+ NormalRecyclerAdapter(
R.layout.item_check_history, dataBeans
) {
override fun convertView(
viewHolder: ViewHolder, position: Int,
- item: CheckHistoryModel
+ item: CheckHistoryModel.DataModel.RowsModel
) {
-
+ //TODO 数据未绑定
}
}
binding.recyclerView.adapter = checkHistoryAdapter
- binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE))
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
checkHistoryAdapter.setOnItemClickedListener(object :
- NormalRecyclerAdapter.OnItemClickedListener {
+ NormalRecyclerAdapter.OnItemClickedListener {
override fun onItemClicked(
- position: Int, t: CheckHistoryModel
+ position: Int, t: CheckHistoryModel.DataModel.RowsModel
) {
- //TODO 查看巡查记录详情
+ navigatePageTo(t.toJson())
}
})
}
@@ -115,6 +121,9 @@
override fun observeRequestState() {
checkHistoryViewModel.loadState.observe(this) {
+ if (isRefresh || isLoadMore) {
+ return@observe
+ }
when (it) {
LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
LoadState.Success -> {
diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
new file mode 100644
index 0000000..f1704d0
--- /dev/null
+++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryDetailActivity.kt
@@ -0,0 +1,114 @@
+package com.casic.br.app.view
+
+import android.os.Bundle
+import androidx.lifecycle.ViewModelProvider
+import com.casic.br.app.R
+import com.casic.br.app.databinding.ActivityCheckHistoryDetailBinding
+import com.casic.br.app.extensions.initImmersionBar
+import com.casic.br.app.model.CheckHistoryDetailModel
+import com.casic.br.app.model.CheckHistoryModel
+import com.casic.br.app.vm.CheckHistoryViewModel
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter
+import com.pengxh.kt.lite.adapter.ViewHolder
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets
+import com.pengxh.kt.lite.extensions.dp2px
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.Constant
+import com.pengxh.kt.lite.utils.LoadState
+import com.pengxh.kt.lite.utils.LoadingDialogHub
+import com.pengxh.kt.lite.widget.TitleBarView
+
+class CheckHistoryDetailActivity : KotlinBaseActivity() {
+
+ private val context = this
+ private val gson by lazy { Gson() }
+ private val marginOffset by lazy { 10.dp2px(this) }
+ private lateinit var checkHistoryViewModel: CheckHistoryViewModel
+
+ override fun initEvent() {
+
+ }
+
+ override fun initOnCreate(savedInstanceState: Bundle?) {
+ val extra = intent.getStringExtra(Constant.INTENT_PARAM)
+ val rowsModel = gson.fromJson(
+ extra, object : TypeToken() {}.type
+ )
+ binding.checkTimeView.text =
+ "${rowsModel.inspectionDate} ${rowsModel.startTime}-${rowsModel.endTime}"
+ binding.checkSiteView.text = rowsModel.inspectionAddress
+ binding.troubleCountView.text = rowsModel.alarmCount
+ binding.checkPersonView.text = rowsModel.inspectionUser
+
+ //列表上部统计
+ binding.countView.text = rowsModel.inspectionUser
+
+ checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java]
+ checkHistoryViewModel.getCheckHistoryDetailById(this, rowsModel.id)
+ checkHistoryViewModel.detailResult.observe(this) {
+ if (it.code == 200) {
+ val detailAdapter = object :
+ NormalRecyclerAdapter(
+ R.layout.item_check_history_detail, it.data
+ ) {
+ override fun convertView(
+ viewHolder: ViewHolder, position: Int,
+ item: CheckHistoryDetailModel.DataModel
+ ) {
+ viewHolder.setText(
+ R.id.troubleTypeView, "${item.mainClassName}-${item.subClassName}"
+ ).setText(R.id.troubleNameView, item.name)
+ .setText(R.id.troubleContentView, item.content)
+// val gridView = viewHolder.getView(R.id.troubleImageView)
+// val imageAdapter = ReadOnlyImageAdapter(context, item.imageList)
+// gridView.adapter = imageAdapter
+// gridView.onItemClickListener =
+// AdapterView.OnItemClickListener { adapterView, view, position, l ->
+//
+// }
+ }
+ }
+ binding.recyclerView.adapter = detailAdapter
+ binding.recyclerView.addItemDecoration(
+ RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset)
+ )
+ }
+ }
+ }
+
+ override fun initViewBinding(): ActivityCheckHistoryDetailBinding {
+ return ActivityCheckHistoryDetailBinding.inflate(layoutInflater)
+ }
+
+ override fun observeRequestState() {
+ checkHistoryViewModel.loadState.observe(this) {
+ when (it) {
+ LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...")
+ LoadState.Success -> {
+ LoadingDialogHub.dismiss()
+ }
+
+ LoadState.Fail -> {
+ LoadingDialogHub.dismiss()
+ "数据加载失败,请重试".show(this)
+ }
+ }
+ }
+ }
+
+ override fun setupTopBarLayout() {
+ binding.rootView.initImmersionBar(this, false, R.color.themeColor)
+ binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener {
+ override fun onLeftClick() {
+ finish()
+ }
+
+ override fun onRightClick() {
+
+ }
+ })
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
index f0bfec2..05226a9 100644
--- a/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
+++ b/app/src/main/java/com/casic/br/app/vm/CheckHistoryViewModel.kt
@@ -4,6 +4,7 @@
import androidx.lifecycle.MutableLiveData
import com.casic.br.app.extensions.getResponseCode
import com.casic.br.app.extensions.getResponseMessage
+import com.casic.br.app.model.CheckHistoryDetailModel
import com.casic.br.app.model.CheckHistoryModel
import com.casic.br.app.retrofit.RetrofitServiceManager
import com.google.gson.Gson
@@ -17,10 +18,11 @@
private val gson by lazy { Gson() }
val historyResult = MutableLiveData()
+ val detailResult = MutableLiveData()
- fun getCheckHistoryByPage(context: Context, keywords: String, offset: Int) = launch({
+ fun getCheckHistoryByPage(context: Context, offset: Int) = launch({
loadState.value = LoadState.Loading
- val response = RetrofitServiceManager.getCheckHistoryByPage(keywords, offset)
+ val response = RetrofitServiceManager.getCheckHistoryByPage(offset)
when (response.getResponseCode()) {
200 -> {
loadState.value = LoadState.Success
@@ -38,4 +40,25 @@
loadState.value = LoadState.Fail
it.localizedMessage?.show(context)
})
+
+ fun getCheckHistoryDetailById(context: Context, inspectionId: String) = launch({
+ loadState.value = LoadState.Loading
+ val response = RetrofitServiceManager.getCheckHistoryDetailById(inspectionId)
+ when (response.getResponseCode()) {
+ 200 -> {
+ loadState.value = LoadState.Success
+ detailResult.value = gson.fromJson(
+ response, object : TypeToken() {}.type
+ )
+ }
+
+ else -> {
+ loadState.value = LoadState.Fail
+ response.getResponseMessage().show(context)
+ }
+ }
+ }, {
+ loadState.value = LoadState.Fail
+ it.localizedMessage?.show(context)
+ })
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_check_history_detail.xml b/app/src/main/res/layout/activity_check_history_detail.xml
new file mode 100644
index 0000000..66c14c7
--- /dev/null
+++ b/app/src/main/res/layout/activity_check_history_detail.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_check_history.xml b/app/src/main/res/layout/item_check_history.xml
index 9c372d3..4b42aa4 100644
--- a/app/src/main/res/layout/item_check_history.xml
+++ b/app/src/main/res/layout/item_check_history.xml
@@ -5,7 +5,7 @@
android:background="#466FB8"
android:gravity="center"
android:orientation="vertical"
- android:padding="@dimen/dp_5">
+ android:padding="@dimen/dp_7">
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
+ android:textSize="@dimen/sp_14" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_check_history_detail.xml b/app/src/main/res/layout/item_check_history_detail.xml
new file mode 100644
index 0000000..2e8deeb
--- /dev/null
+++ b/app/src/main/res/layout/item_check_history_detail.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file