diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt new file mode 100644 index 0000000..8dbc4ea --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt @@ -0,0 +1,55 @@ +package com.casic.br.app.view + +import android.os.Bundle +import com.casic.br.app.databinding.ActivityPreviewPdfBinding +import com.casic.br.app.extensions.combineFilePath +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.createDownloadFileDir +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.FileDownloadManager +import com.pengxh.kt.lite.utils.LoadingDialogHub +import java.io.File +import java.io.FileInputStream + +class PreviewPdfActivity : KotlinBaseActivity() { + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! + val url = minioFileName.combineFilePath() + LoadingDialogHub.show(this, "文档加载中,请稍后...") + FileDownloadManager.Builder() + .setDownloadFileSource(url) + .setFileSuffix(".pdf") + .setFileSaveDirectory(createDownloadFileDir()) + .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { + override fun onProgressChanged(progress: Int) { + + } + + override fun onDownloadEnd(file: File) { + LoadingDialogHub.dismiss() + val inputStream = FileInputStream(file) + binding.pdfView.fromStream(inputStream).load() + } + + override fun onFailure(throwable: Throwable) { + + } + }).build().start() + } + + override fun initViewBinding(): ActivityPreviewPdfBinding { + return ActivityPreviewPdfBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt new file mode 100644 index 0000000..8dbc4ea --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt @@ -0,0 +1,55 @@ +package com.casic.br.app.view + +import android.os.Bundle +import com.casic.br.app.databinding.ActivityPreviewPdfBinding +import com.casic.br.app.extensions.combineFilePath +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.createDownloadFileDir +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.FileDownloadManager +import com.pengxh.kt.lite.utils.LoadingDialogHub +import java.io.File +import java.io.FileInputStream + +class PreviewPdfActivity : KotlinBaseActivity() { + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! + val url = minioFileName.combineFilePath() + LoadingDialogHub.show(this, "文档加载中,请稍后...") + FileDownloadManager.Builder() + .setDownloadFileSource(url) + .setFileSuffix(".pdf") + .setFileSaveDirectory(createDownloadFileDir()) + .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { + override fun onProgressChanged(progress: Int) { + + } + + override fun onDownloadEnd(file: File) { + LoadingDialogHub.dismiss() + val inputStream = FileInputStream(file) + binding.pdfView.fromStream(inputStream).load() + } + + override fun onFailure(throwable: Throwable) { + + } + }).build().start() + } + + override fun initViewBinding(): ActivityPreviewPdfBinding { + return ActivityPreviewPdfBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index f139d15..0471059 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -14,7 +14,7 @@ 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.extensions.formatToYearMonthDay +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -24,8 +24,8 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -54,9 +54,10 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] + getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows!! + val dataRows = it.data!! when { isRefresh -> { standardFileAdapter.setRefreshData(dataRows) @@ -90,25 +91,25 @@ when (msg.what) { 2024030401 -> { standardFileAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_standard_file, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel.RowsModel + item: StandardFileModel.DataModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileName) - .setText(R.id.dateView, item.effectiveTime.formatToYearMonthDay()) + viewHolder.setText(R.id.fileTitleView, item.fileTitle) + .setText(R.id.dateView, item.effectiveDate) } } binding.recyclerView.adapter = standardFileAdapter binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel.RowsModel + position: Int, t: StandardFileModel.DataModel ) { - //TODO 查看标准规范PDF文档 + navigatePageTo(t.fileTitle) } }) } diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt new file mode 100644 index 0000000..8dbc4ea --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt @@ -0,0 +1,55 @@ +package com.casic.br.app.view + +import android.os.Bundle +import com.casic.br.app.databinding.ActivityPreviewPdfBinding +import com.casic.br.app.extensions.combineFilePath +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.createDownloadFileDir +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.FileDownloadManager +import com.pengxh.kt.lite.utils.LoadingDialogHub +import java.io.File +import java.io.FileInputStream + +class PreviewPdfActivity : KotlinBaseActivity() { + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! + val url = minioFileName.combineFilePath() + LoadingDialogHub.show(this, "文档加载中,请稍后...") + FileDownloadManager.Builder() + .setDownloadFileSource(url) + .setFileSuffix(".pdf") + .setFileSaveDirectory(createDownloadFileDir()) + .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { + override fun onProgressChanged(progress: Int) { + + } + + override fun onDownloadEnd(file: File) { + LoadingDialogHub.dismiss() + val inputStream = FileInputStream(file) + binding.pdfView.fromStream(inputStream).load() + } + + override fun onFailure(throwable: Throwable) { + + } + }).build().start() + } + + override fun initViewBinding(): ActivityPreviewPdfBinding { + return ActivityPreviewPdfBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index f139d15..0471059 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -14,7 +14,7 @@ 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.extensions.formatToYearMonthDay +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -24,8 +24,8 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -54,9 +54,10 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] + getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows!! + val dataRows = it.data!! when { isRefresh -> { standardFileAdapter.setRefreshData(dataRows) @@ -90,25 +91,25 @@ when (msg.what) { 2024030401 -> { standardFileAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_standard_file, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel.RowsModel + item: StandardFileModel.DataModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileName) - .setText(R.id.dateView, item.effectiveTime.formatToYearMonthDay()) + viewHolder.setText(R.id.fileTitleView, item.fileTitle) + .setText(R.id.dateView, item.effectiveDate) } } binding.recyclerView.adapter = standardFileAdapter binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel.RowsModel + position: Int, t: StandardFileModel.DataModel ) { - //TODO 查看标准规范PDF文档 + navigatePageTo(t.fileTitle) } }) } diff --git a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt index 501872e..d0eab46 100644 --- a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt +++ b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt @@ -15,6 +15,7 @@ class StandardFileViewModel : BaseViewModel() { + private val kTag = "StandardFileViewModel" private val gson by lazy { Gson() } val fileListResult = MutableLiveData() diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt new file mode 100644 index 0000000..8dbc4ea --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt @@ -0,0 +1,55 @@ +package com.casic.br.app.view + +import android.os.Bundle +import com.casic.br.app.databinding.ActivityPreviewPdfBinding +import com.casic.br.app.extensions.combineFilePath +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.createDownloadFileDir +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.FileDownloadManager +import com.pengxh.kt.lite.utils.LoadingDialogHub +import java.io.File +import java.io.FileInputStream + +class PreviewPdfActivity : KotlinBaseActivity() { + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! + val url = minioFileName.combineFilePath() + LoadingDialogHub.show(this, "文档加载中,请稍后...") + FileDownloadManager.Builder() + .setDownloadFileSource(url) + .setFileSuffix(".pdf") + .setFileSaveDirectory(createDownloadFileDir()) + .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { + override fun onProgressChanged(progress: Int) { + + } + + override fun onDownloadEnd(file: File) { + LoadingDialogHub.dismiss() + val inputStream = FileInputStream(file) + binding.pdfView.fromStream(inputStream).load() + } + + override fun onFailure(throwable: Throwable) { + + } + }).build().start() + } + + override fun initViewBinding(): ActivityPreviewPdfBinding { + return ActivityPreviewPdfBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index f139d15..0471059 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -14,7 +14,7 @@ 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.extensions.formatToYearMonthDay +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -24,8 +24,8 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -54,9 +54,10 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] + getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows!! + val dataRows = it.data!! when { isRefresh -> { standardFileAdapter.setRefreshData(dataRows) @@ -90,25 +91,25 @@ when (msg.what) { 2024030401 -> { standardFileAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_standard_file, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel.RowsModel + item: StandardFileModel.DataModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileName) - .setText(R.id.dateView, item.effectiveTime.formatToYearMonthDay()) + viewHolder.setText(R.id.fileTitleView, item.fileTitle) + .setText(R.id.dateView, item.effectiveDate) } } binding.recyclerView.adapter = standardFileAdapter binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel.RowsModel + position: Int, t: StandardFileModel.DataModel ) { - //TODO 查看标准规范PDF文档 + navigatePageTo(t.fileTitle) } }) } diff --git a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt index 501872e..d0eab46 100644 --- a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt +++ b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt @@ -15,6 +15,7 @@ class StandardFileViewModel : BaseViewModel() { + private val kTag = "StandardFileViewModel" private val gson by lazy { Gson() } val fileListResult = MutableLiveData() diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml new file mode 100644 index 0000000..0bcf06c --- /dev/null +++ b/app/src/main/res/layout/activity_preview_pdf.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index ce9214f..2e37bd4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -96,4 +96,6 @@ implementation "androidx.camera:camera-lifecycle:$camerax_version" // CameraX View class implementation "androidx.camera:camera-view:$camerax_version" + //PDF预览 + implementation 'com.github.barteksc:android-pdf-viewer:2.8.2' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d0a6c05..4015c8c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -59,6 +59,7 @@ + diff --git a/app/src/main/java/com/casic/br/app/extensions/String.kt b/app/src/main/java/com/casic/br/app/extensions/String.kt index 610a77d..e2a8e13 100644 --- a/app/src/main/java/com/casic/br/app/extensions/String.kt +++ b/app/src/main/java/com/casic/br/app/extensions/String.kt @@ -1,6 +1,8 @@ package com.casic.br.app.extensions +import com.casic.br.app.utils.LocaleConstant import com.google.gson.JsonParser +import com.pengxh.kt.lite.utils.SaveKeyValues /** * String扩展方法 @@ -21,4 +23,13 @@ val element = JsonParser.parseString(this) val jsonObject = element.asJsonObject return jsonObject.get("message").asString +} + +//拼接附件地址 +fun String.combineFilePath(): String { + if (this.isEmpty()) return this + val defaultValue = SaveKeyValues.getValue( + LocaleConstant.DEFAULT_SERVER_CONFIG, LocaleConstant.SERVER_BASE_URL + ) as String + return "$defaultValue/static/${this.replace("\\", "/")}" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java index c5d47c3..999b8ad 100644 --- a/app/src/main/java/com/casic/br/app/model/StandardFileModel.java +++ b/app/src/main/java/com/casic/br/app/model/StandardFileModel.java @@ -3,26 +3,28 @@ import java.util.List; public class StandardFileModel { - private int code; - private DataModel data; - private String message; - public int getCode() { + private Boolean success; + private Integer code; + private String message; + private List data; + + public Boolean getSuccess() { + return success; + } + + public void setSuccess(Boolean success) { + this.success = success; + } + + public Integer getCode() { return code; } - public void setCode(int code) { + public void setCode(Integer code) { this.code = code; } - public DataModel getData() { - return data; - } - - public void setData(DataModel data) { - this.data = data; - } - public String getMessage() { return message; } @@ -31,162 +33,50 @@ this.message = message; } + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + public static class DataModel { - private List rows; - private int total; + private Integer id; + private Object fileCover; + private String fileTitle; + private String effectiveDate; - public List getRows() { - return rows; + public Integer getId() { + return id; } - public void setRows(List rows) { - this.rows = rows; + public void setId(Integer id) { + this.id = id; } - public int getTotal() { - return total; + public Object getFileCover() { + return fileCover; } - public void setTotal(int total) { - this.total = total; + public void setFileCover(Object fileCover) { + this.fileCover = fileCover; } - public static class RowsModel { - private String createUser; - private String effectiveStatus; - private String effectiveStatusName; - private String effectiveTime; - private String fileCode; - private String fileName; - private String fileNo; - private String fileType; - private String fileTypeName; - private String id; - private String minioFileName; - private String processId; - private String publishTime; - private String publisher; - private String remark; + public String getFileTitle() { + return fileTitle; + } - public String getCreateUser() { - return createUser; - } + public void setFileTitle(String fileTitle) { + this.fileTitle = fileTitle; + } - public void setCreateUser(String createUser) { - this.createUser = createUser; - } + public String getEffectiveDate() { + return effectiveDate; + } - public String getEffectiveStatus() { - return effectiveStatus; - } - - public void setEffectiveStatus(String effectiveStatus) { - this.effectiveStatus = effectiveStatus; - } - - public String getEffectiveStatusName() { - return effectiveStatusName; - } - - public void setEffectiveStatusName(String effectiveStatusName) { - this.effectiveStatusName = effectiveStatusName; - } - - public String getEffectiveTime() { - return effectiveTime; - } - - public void setEffectiveTime(String effectiveTime) { - this.effectiveTime = effectiveTime; - } - - public String getFileCode() { - return fileCode; - } - - public void setFileCode(String fileCode) { - this.fileCode = fileCode; - } - - public String getFileName() { - return fileName; - } - - public void setFileName(String fileName) { - this.fileName = fileName; - } - - public String getFileNo() { - return fileNo; - } - - public void setFileNo(String fileNo) { - this.fileNo = fileNo; - } - - public String getFileType() { - return fileType; - } - - public void setFileType(String fileType) { - this.fileType = fileType; - } - - public String getFileTypeName() { - return fileTypeName; - } - - public void setFileTypeName(String fileTypeName) { - this.fileTypeName = fileTypeName; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getMinioFileName() { - return minioFileName; - } - - public void setMinioFileName(String minioFileName) { - this.minioFileName = minioFileName; - } - - public String getProcessId() { - return processId; - } - - public void setProcessId(String processId) { - this.processId = processId; - } - - public String getPublishTime() { - return publishTime; - } - - public void setPublishTime(String publishTime) { - this.publishTime = publishTime; - } - - public String getPublisher() { - return publisher; - } - - public void setPublisher(String publisher) { - this.publisher = publisher; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public void setEffectiveDate(String effectiveDate) { + this.effectiveDate = effectiveDate; } } } 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 075ca63..36056fe 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 @@ -22,7 +22,7 @@ /** * 获取标准规范文件列表 */ - @POST("/meter/file/listPage") + @POST("/standardFile/listPage") suspend fun getStandardFileByPage( @Header("token") token: String, @Body requestBody: RequestBody, diff --git a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt index ce4a348..949492a 100644 --- a/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/app/utils/LocaleConstant.kt @@ -55,5 +55,5 @@ const val ACCOUNT = "account" const val PASSWORD = "password" const val DEFAULT_SERVER_CONFIG = "defaultServerConfig" - const val SERVER_BASE_URL = "http://111.198.10.15:8896" + const val SERVER_BASE_URL = "http://192.168.153.213:8080" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt new file mode 100644 index 0000000..8dbc4ea --- /dev/null +++ b/app/src/main/java/com/casic/br/app/view/PreviewPdfActivity.kt @@ -0,0 +1,55 @@ +package com.casic.br.app.view + +import android.os.Bundle +import com.casic.br.app.databinding.ActivityPreviewPdfBinding +import com.casic.br.app.extensions.combineFilePath +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.createDownloadFileDir +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.utils.FileDownloadManager +import com.pengxh.kt.lite.utils.LoadingDialogHub +import java.io.File +import java.io.FileInputStream + +class PreviewPdfActivity : KotlinBaseActivity() { + override fun initEvent() { + + } + + override fun initOnCreate(savedInstanceState: Bundle?) { + val minioFileName = intent.getStringExtra(Constant.INTENT_PARAM)!! + val url = minioFileName.combineFilePath() + LoadingDialogHub.show(this, "文档加载中,请稍后...") + FileDownloadManager.Builder() + .setDownloadFileSource(url) + .setFileSuffix(".pdf") + .setFileSaveDirectory(createDownloadFileDir()) + .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { + override fun onProgressChanged(progress: Int) { + + } + + override fun onDownloadEnd(file: File) { + LoadingDialogHub.dismiss() + val inputStream = FileInputStream(file) + binding.pdfView.fromStream(inputStream).load() + } + + override fun onFailure(throwable: Throwable) { + + } + }).build().start() + } + + override fun initViewBinding(): ActivityPreviewPdfBinding { + return ActivityPreviewPdfBinding.inflate(layoutInflater) + } + + override fun observeRequestState() { + + } + + override fun setupTopBarLayout() { + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index f139d15..0471059 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -14,7 +14,7 @@ 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.extensions.formatToYearMonthDay +import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub @@ -24,8 +24,8 @@ private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var standardFileViewModel: StandardFileViewModel - private lateinit var standardFileAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() + private lateinit var standardFileAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 private var isRefresh = false @@ -54,9 +54,10 @@ override fun initOnCreate(savedInstanceState: Bundle?) { weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] + getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { if (it.code == 200) { - val dataRows = it.data?.rows!! + val dataRows = it.data!! when { isRefresh -> { standardFileAdapter.setRefreshData(dataRows) @@ -90,25 +91,25 @@ when (msg.what) { 2024030401 -> { standardFileAdapter = object : - NormalRecyclerAdapter( + NormalRecyclerAdapter( R.layout.item_standard_file, dataBeans ) { override fun convertView( viewHolder: ViewHolder, position: Int, - item: StandardFileModel.DataModel.RowsModel + item: StandardFileModel.DataModel ) { - viewHolder.setText(R.id.fileTitleView, item.fileName) - .setText(R.id.dateView, item.effectiveTime.formatToYearMonthDay()) + viewHolder.setText(R.id.fileTitleView, item.fileTitle) + .setText(R.id.dateView, item.effectiveDate) } } binding.recyclerView.adapter = standardFileAdapter binding.recyclerView.addItemDecoration(RecyclerViewItemDivider(1, Color.WHITE)) standardFileAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { + NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, t: StandardFileModel.DataModel.RowsModel + position: Int, t: StandardFileModel.DataModel ) { - //TODO 查看标准规范PDF文档 + navigatePageTo(t.fileTitle) } }) } diff --git a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt index 501872e..d0eab46 100644 --- a/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt +++ b/app/src/main/java/com/casic/br/app/vm/StandardFileViewModel.kt @@ -15,6 +15,7 @@ class StandardFileViewModel : BaseViewModel() { + private val kTag = "StandardFileViewModel" private val gson by lazy { Gson() } val fileListResult = MutableLiveData() diff --git a/app/src/main/res/layout/activity_preview_pdf.xml b/app/src/main/res/layout/activity_preview_pdf.xml new file mode 100644 index 0000000..0bcf06c --- /dev/null +++ b/app/src/main/res/layout/activity_preview_pdf.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_standard_file.xml b/app/src/main/res/layout/activity_standard_file.xml index fb82b28..a6906c0 100644 --- a/app/src/main/res/layout/activity_standard_file.xml +++ b/app/src/main/res/layout/activity_standard_file.xml @@ -42,10 +42,11 @@ android:layout_height="match_parent" android:layout_weight="1" android:background="@drawable/bg_stroke_white_1" - android:hint="关键字" + android:hint="文件名称" android:paddingHorizontal="@dimen/dp_5" android:singleLine="true" - android:textColorHint="@color/white" /> + android:textColorHint="@color/white" + android:textSize="@dimen/sp_14" />