diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 613e881..aabd4fe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -690,6 +690,62 @@ } /** + * 获取到期装置列表 + */ + suspend fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ): String { + val param = JsonObject() + param.addProperty("managerState", managerState) + param.addProperty("standardName", standardName) + param.addProperty("validEndTime", validEndTime) + param.addProperty("validStartTime", validStartTime) + param.addProperty("preparationEndDate", preparationEndDate) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) + param.addProperty("id", id) + param.addProperty("category", category) + param.addProperty("preparationStartDate", preparationStartDate) + param.addProperty("standardNo", standardNo) + param.addProperty("standardLaboratory", standardLaboratory) + + 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 + return api.getRemindDeviceList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } + + /** + * 催办装置 + */ + suspend fun remindDevice(id: String): String { + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.remindDevice(AuthenticationHelper.token!!, requestBody) + } + + /** * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 613e881..aabd4fe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -690,6 +690,62 @@ } /** + * 获取到期装置列表 + */ + suspend fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ): String { + val param = JsonObject() + param.addProperty("managerState", managerState) + param.addProperty("standardName", standardName) + param.addProperty("validEndTime", validEndTime) + param.addProperty("validStartTime", validStartTime) + param.addProperty("preparationEndDate", preparationEndDate) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) + param.addProperty("id", id) + param.addProperty("category", category) + param.addProperty("preparationStartDate", preparationStartDate) + param.addProperty("standardNo", standardNo) + param.addProperty("standardLaboratory", standardLaboratory) + + 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 + return api.getRemindDeviceList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } + + /** + * 催办装置 + */ + suspend fun remindDevice(id: String): String { + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.remindDevice(AuthenticationHelper.token!!, requestBody) + } + + /** * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 35a5837..1ccb314 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -1,4 +1,242 @@ package com.casic.xz.meterage.view.home -class OvertimeDeviceActivity { +import android.content.Context +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.isEarlierThenCurrent +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.RemindDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog +import kotlinx.android.synthetic.main.activity_overtime_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class OvertimeDeviceActivity : ApplicationBaseActivity() { + + private var context: Context = this@OvertimeDeviceActivity + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var equipmentAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + private var clickedPosition = 0 + + override fun initLayoutView(): Int = R.layout.activity_overtime_device + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "装置到期列表" + } + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.remindDeviceList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + deviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + deviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023041802) + } + } + + equipmentViewModel.remindDeviceResult.observe(this) { + if (it.code == 200) { + //催办之后列表虽然刷新,但是列表依旧存在,只有在对方处理了过期设备,列表还是刷新 + "操作成功".show(this) + } + } + } + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + deviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getRemindDeviceListByPage() + } + + deviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getRemindDeviceListByPage() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getRemindDeviceListByPage() + } + + private fun getRemindDeviceListByPage() { + equipmentViewModel.getRemindDeviceList( + "", + "", + "", + "", + "", + arrayOf(), + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023041802 -> { + if (isRefresh || isLoadMore) { + equipmentAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无过期装置") { + pageIndex = 1 + getRemindDeviceListByPage() + } + } else { + emptyView!!.hide() + equipmentAdapter = object : + NormalRecyclerAdapter( + R.layout.item_remind_device_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: RemindDeviceListModel.DataModel.RowsModel + ) { + val transmitRange = if (item.transmitRangeName.isNullOrBlank()) { + "未知" + } else { + item.transmitRangeName + } + + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + val lab = if (item.standardLaboratoryName.isNullOrBlank()) { + "未知" + } else { + item.standardLaboratoryName + } + + if (item.validTime.isEarlierThenCurrent()) { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.red.convertColor(context) + ) + } else { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.gray.convertColor(context) + ) + } + + viewHolder.setText(R.id.deviceNameView, item.standardName) + .setText(R.id.deviceStateView, item.managerStateName) + .setText(R.id.transmitRangeView, transmitRange) + .setText(R.id.measureMajorView, item.measureMajorName) + .setText(R.id.deviceCodeView, "装置编号:${item.standardNo}") + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.deviceLibView, lab) + .setText( + R.id.deviceDateView, + "有效期至:${item.validTime.formatToYearMonthDay()}" + ) + .setText(R.id.labOwnerView, "管理员:${item.laboratoryOwnerName}") + + viewHolder.setOnClickListener(R.id.remindButton) { + //标记被点击的item位置 + clickedPosition = position + AlertControlDialog.Builder() + .setContext(context) + .setTitle("提示") + .setMessage("确定催办该装置?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + if (item.id.isBlank()) { + "装置ID异常,无法催办".show(context) + return + } + equipmentViewModel.remindDevice(item.id) + } + }).build().show() + } + } + } + deviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + deviceRecyclerView.adapter = equipmentAdapter + equipmentAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: RemindDeviceListModel.DataModel.RowsModel + ) { + navigatePageTo(t.id) + } + }) + } + } + } + } + true + } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 613e881..aabd4fe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -690,6 +690,62 @@ } /** + * 获取到期装置列表 + */ + suspend fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ): String { + val param = JsonObject() + param.addProperty("managerState", managerState) + param.addProperty("standardName", standardName) + param.addProperty("validEndTime", validEndTime) + param.addProperty("validStartTime", validStartTime) + param.addProperty("preparationEndDate", preparationEndDate) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) + param.addProperty("id", id) + param.addProperty("category", category) + param.addProperty("preparationStartDate", preparationStartDate) + param.addProperty("standardNo", standardNo) + param.addProperty("standardLaboratory", standardLaboratory) + + 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 + return api.getRemindDeviceList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } + + /** + * 催办装置 + */ + suspend fun remindDevice(id: String): String { + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.remindDevice(AuthenticationHelper.token!!, requestBody) + } + + /** * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 35a5837..1ccb314 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -1,4 +1,242 @@ package com.casic.xz.meterage.view.home -class OvertimeDeviceActivity { +import android.content.Context +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.isEarlierThenCurrent +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.RemindDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog +import kotlinx.android.synthetic.main.activity_overtime_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class OvertimeDeviceActivity : ApplicationBaseActivity() { + + private var context: Context = this@OvertimeDeviceActivity + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var equipmentAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + private var clickedPosition = 0 + + override fun initLayoutView(): Int = R.layout.activity_overtime_device + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "装置到期列表" + } + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.remindDeviceList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + deviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + deviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023041802) + } + } + + equipmentViewModel.remindDeviceResult.observe(this) { + if (it.code == 200) { + //催办之后列表虽然刷新,但是列表依旧存在,只有在对方处理了过期设备,列表还是刷新 + "操作成功".show(this) + } + } + } + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + deviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getRemindDeviceListByPage() + } + + deviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getRemindDeviceListByPage() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getRemindDeviceListByPage() + } + + private fun getRemindDeviceListByPage() { + equipmentViewModel.getRemindDeviceList( + "", + "", + "", + "", + "", + arrayOf(), + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023041802 -> { + if (isRefresh || isLoadMore) { + equipmentAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无过期装置") { + pageIndex = 1 + getRemindDeviceListByPage() + } + } else { + emptyView!!.hide() + equipmentAdapter = object : + NormalRecyclerAdapter( + R.layout.item_remind_device_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: RemindDeviceListModel.DataModel.RowsModel + ) { + val transmitRange = if (item.transmitRangeName.isNullOrBlank()) { + "未知" + } else { + item.transmitRangeName + } + + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + val lab = if (item.standardLaboratoryName.isNullOrBlank()) { + "未知" + } else { + item.standardLaboratoryName + } + + if (item.validTime.isEarlierThenCurrent()) { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.red.convertColor(context) + ) + } else { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.gray.convertColor(context) + ) + } + + viewHolder.setText(R.id.deviceNameView, item.standardName) + .setText(R.id.deviceStateView, item.managerStateName) + .setText(R.id.transmitRangeView, transmitRange) + .setText(R.id.measureMajorView, item.measureMajorName) + .setText(R.id.deviceCodeView, "装置编号:${item.standardNo}") + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.deviceLibView, lab) + .setText( + R.id.deviceDateView, + "有效期至:${item.validTime.formatToYearMonthDay()}" + ) + .setText(R.id.labOwnerView, "管理员:${item.laboratoryOwnerName}") + + viewHolder.setOnClickListener(R.id.remindButton) { + //标记被点击的item位置 + clickedPosition = position + AlertControlDialog.Builder() + .setContext(context) + .setTitle("提示") + .setMessage("确定催办该装置?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + if (item.id.isBlank()) { + "装置ID异常,无法催办".show(context) + return + } + equipmentViewModel.remindDevice(item.id) + } + }).build().show() + } + } + } + deviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + deviceRecyclerView.adapter = equipmentAdapter + equipmentAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: RemindDeviceListModel.DataModel.RowsModel + ) { + navigatePageTo(t.id) + } + }) + } + } + } + } + true + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b1817bc..6291b19 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -31,6 +31,8 @@ val remindEquipmentList = MutableLiveData() val remindEquipmentResult = MutableLiveData() val remindDeviceCount = MutableLiveData() + val remindDeviceList = MutableLiveData() + val remindDeviceResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -328,4 +330,64 @@ it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) + + fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getRemindDeviceList( + managerState, + standardName, + validEndTime, + validStartTime, + preparationEndDate, + ids, + id, + category, + preparationStartDate, + standardNo, + standardLaboratory, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + remindDeviceList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun remindDevice(id: String) = launch({ + val response = RetrofitServiceManager.remindDevice(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + remindDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 613e881..aabd4fe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -690,6 +690,62 @@ } /** + * 获取到期装置列表 + */ + suspend fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ): String { + val param = JsonObject() + param.addProperty("managerState", managerState) + param.addProperty("standardName", standardName) + param.addProperty("validEndTime", validEndTime) + param.addProperty("validStartTime", validStartTime) + param.addProperty("preparationEndDate", preparationEndDate) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) + param.addProperty("id", id) + param.addProperty("category", category) + param.addProperty("preparationStartDate", preparationStartDate) + param.addProperty("standardNo", standardNo) + param.addProperty("standardLaboratory", standardLaboratory) + + 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 + return api.getRemindDeviceList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } + + /** + * 催办装置 + */ + suspend fun remindDevice(id: String): String { + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.remindDevice(AuthenticationHelper.token!!, requestBody) + } + + /** * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 35a5837..1ccb314 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -1,4 +1,242 @@ package com.casic.xz.meterage.view.home -class OvertimeDeviceActivity { +import android.content.Context +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.isEarlierThenCurrent +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.RemindDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog +import kotlinx.android.synthetic.main.activity_overtime_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class OvertimeDeviceActivity : ApplicationBaseActivity() { + + private var context: Context = this@OvertimeDeviceActivity + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var equipmentAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + private var clickedPosition = 0 + + override fun initLayoutView(): Int = R.layout.activity_overtime_device + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "装置到期列表" + } + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.remindDeviceList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + deviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + deviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023041802) + } + } + + equipmentViewModel.remindDeviceResult.observe(this) { + if (it.code == 200) { + //催办之后列表虽然刷新,但是列表依旧存在,只有在对方处理了过期设备,列表还是刷新 + "操作成功".show(this) + } + } + } + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + deviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getRemindDeviceListByPage() + } + + deviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getRemindDeviceListByPage() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getRemindDeviceListByPage() + } + + private fun getRemindDeviceListByPage() { + equipmentViewModel.getRemindDeviceList( + "", + "", + "", + "", + "", + arrayOf(), + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023041802 -> { + if (isRefresh || isLoadMore) { + equipmentAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无过期装置") { + pageIndex = 1 + getRemindDeviceListByPage() + } + } else { + emptyView!!.hide() + equipmentAdapter = object : + NormalRecyclerAdapter( + R.layout.item_remind_device_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: RemindDeviceListModel.DataModel.RowsModel + ) { + val transmitRange = if (item.transmitRangeName.isNullOrBlank()) { + "未知" + } else { + item.transmitRangeName + } + + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + val lab = if (item.standardLaboratoryName.isNullOrBlank()) { + "未知" + } else { + item.standardLaboratoryName + } + + if (item.validTime.isEarlierThenCurrent()) { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.red.convertColor(context) + ) + } else { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.gray.convertColor(context) + ) + } + + viewHolder.setText(R.id.deviceNameView, item.standardName) + .setText(R.id.deviceStateView, item.managerStateName) + .setText(R.id.transmitRangeView, transmitRange) + .setText(R.id.measureMajorView, item.measureMajorName) + .setText(R.id.deviceCodeView, "装置编号:${item.standardNo}") + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.deviceLibView, lab) + .setText( + R.id.deviceDateView, + "有效期至:${item.validTime.formatToYearMonthDay()}" + ) + .setText(R.id.labOwnerView, "管理员:${item.laboratoryOwnerName}") + + viewHolder.setOnClickListener(R.id.remindButton) { + //标记被点击的item位置 + clickedPosition = position + AlertControlDialog.Builder() + .setContext(context) + .setTitle("提示") + .setMessage("确定催办该装置?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + if (item.id.isBlank()) { + "装置ID异常,无法催办".show(context) + return + } + equipmentViewModel.remindDevice(item.id) + } + }).build().show() + } + } + } + deviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + deviceRecyclerView.adapter = equipmentAdapter + equipmentAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: RemindDeviceListModel.DataModel.RowsModel + ) { + navigatePageTo(t.id) + } + }) + } + } + } + } + true + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b1817bc..6291b19 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -31,6 +31,8 @@ val remindEquipmentList = MutableLiveData() val remindEquipmentResult = MutableLiveData() val remindDeviceCount = MutableLiveData() + val remindDeviceList = MutableLiveData() + val remindDeviceResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -328,4 +330,64 @@ it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) + + fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getRemindDeviceList( + managerState, + standardName, + validEndTime, + validStartTime, + preparationEndDate, + ids, + id, + category, + preparationStartDate, + standardNo, + standardLaboratory, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + remindDeviceList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun remindDevice(id: String) = launch({ + val response = RetrofitServiceManager.remindDevice(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + remindDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_overtime_device.xml b/app/src/main/res/layout/activity_overtime_device.xml new file mode 100644 index 0000000..d1ce21a --- /dev/null +++ b/app/src/main/res/layout/activity_overtime_device.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9bc098c..968c535 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -76,6 +76,7 @@ + diff --git a/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java new file mode 100644 index 0000000..f17d146 --- /dev/null +++ b/app/src/main/java/com/casic/xz/meterage/model/RemindDeviceListModel.java @@ -0,0 +1,463 @@ +package com.casic.xz.meterage.model; + +import java.util.List; + +public class RemindDeviceListModel { + + private int code; + private DataModel data; + private String message; + + 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 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 assessDate; + private String assessmentUnit; + private String category; + private String categoryName; + private String constructionStandardProject; + private String constructionStandardUnitName; + private String contactInfo; + private String createTime; + private String createUser; + private String equipmentList; + private String fileList; + private String id; + private String isDel; + private String laboratoryOwner; + private String laboratoryOwnerContact; + private String laboratoryOwnerName; + private String managerState; + private String managerStateName; + private String measureMajor; + private String measureMajorName; + private String mesureRange; + private String organizeNo; + private String preparationDate; + private String projectNo; + private String remark; + private String remindTime; + private String standardHumidity; + private String standardLaboratory; + private String standardLaboratoryName; + private String standardLevel; + private String standardLevelName; + private String standardName; + private String standardNo; + private String standardOwner; + private String standardOwnerName; + private String standardTemperature; + private String totalInvestment; + private String transmitRange; + private String transmitRangeName; + private String uncertainty; + private String updateTime; + private String userList; + private String validTime; + private String verifyRegulationList; + private String version; + + public String getAssessDate() { + return assessDate; + } + + public void setAssessDate(String assessDate) { + this.assessDate = assessDate; + } + + public String getAssessmentUnit() { + return assessmentUnit; + } + + public void setAssessmentUnit(String assessmentUnit) { + this.assessmentUnit = assessmentUnit; + } + + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + public String getCategoryName() { + return categoryName; + } + + public void setCategoryName(String categoryName) { + this.categoryName = categoryName; + } + + public String getConstructionStandardProject() { + return constructionStandardProject; + } + + public void setConstructionStandardProject(String constructionStandardProject) { + this.constructionStandardProject = constructionStandardProject; + } + + public String getConstructionStandardUnitName() { + return constructionStandardUnitName; + } + + public void setConstructionStandardUnitName(String constructionStandardUnitName) { + this.constructionStandardUnitName = constructionStandardUnitName; + } + + public String getContactInfo() { + return contactInfo; + } + + public void setContactInfo(String contactInfo) { + this.contactInfo = contactInfo; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getCreateUser() { + return createUser; + } + + public void setCreateUser(String createUser) { + this.createUser = createUser; + } + + public String getEquipmentList() { + return equipmentList; + } + + public void setEquipmentList(String equipmentList) { + this.equipmentList = equipmentList; + } + + public String getFileList() { + return fileList; + } + + public void setFileList(String fileList) { + this.fileList = fileList; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getIsDel() { + return isDel; + } + + public void setIsDel(String isDel) { + this.isDel = isDel; + } + + public String getLaboratoryOwner() { + return laboratoryOwner; + } + + public void setLaboratoryOwner(String laboratoryOwner) { + this.laboratoryOwner = laboratoryOwner; + } + + public String getLaboratoryOwnerContact() { + return laboratoryOwnerContact; + } + + public void setLaboratoryOwnerContact(String laboratoryOwnerContact) { + this.laboratoryOwnerContact = laboratoryOwnerContact; + } + + public String getLaboratoryOwnerName() { + return laboratoryOwnerName; + } + + public void setLaboratoryOwnerName(String laboratoryOwnerName) { + this.laboratoryOwnerName = laboratoryOwnerName; + } + + public String getManagerState() { + return managerState; + } + + public void setManagerState(String managerState) { + this.managerState = managerState; + } + + public String getManagerStateName() { + return managerStateName; + } + + public void setManagerStateName(String managerStateName) { + this.managerStateName = managerStateName; + } + + public String getMeasureMajor() { + return measureMajor; + } + + public void setMeasureMajor(String measureMajor) { + this.measureMajor = measureMajor; + } + + public String getMeasureMajorName() { + return measureMajorName; + } + + public void setMeasureMajorName(String measureMajorName) { + this.measureMajorName = measureMajorName; + } + + public String getMesureRange() { + return mesureRange; + } + + public void setMesureRange(String mesureRange) { + this.mesureRange = mesureRange; + } + + public String getOrganizeNo() { + return organizeNo; + } + + public void setOrganizeNo(String organizeNo) { + this.organizeNo = organizeNo; + } + + public String getPreparationDate() { + return preparationDate; + } + + public void setPreparationDate(String preparationDate) { + this.preparationDate = preparationDate; + } + + public String getProjectNo() { + return projectNo; + } + + public void setProjectNo(String projectNo) { + this.projectNo = projectNo; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getRemindTime() { + return remindTime; + } + + public void setRemindTime(String remindTime) { + this.remindTime = remindTime; + } + + public String getStandardHumidity() { + return standardHumidity; + } + + public void setStandardHumidity(String standardHumidity) { + this.standardHumidity = standardHumidity; + } + + public String getStandardLaboratory() { + return standardLaboratory; + } + + public void setStandardLaboratory(String standardLaboratory) { + this.standardLaboratory = standardLaboratory; + } + + public String getStandardLaboratoryName() { + return standardLaboratoryName; + } + + public void setStandardLaboratoryName(String standardLaboratoryName) { + this.standardLaboratoryName = standardLaboratoryName; + } + + public String getStandardLevel() { + return standardLevel; + } + + public void setStandardLevel(String standardLevel) { + this.standardLevel = standardLevel; + } + + public String getStandardLevelName() { + return standardLevelName; + } + + public void setStandardLevelName(String standardLevelName) { + this.standardLevelName = standardLevelName; + } + + public String getStandardName() { + return standardName; + } + + public void setStandardName(String standardName) { + this.standardName = standardName; + } + + public String getStandardNo() { + return standardNo; + } + + public void setStandardNo(String standardNo) { + this.standardNo = standardNo; + } + + public String getStandardOwner() { + return standardOwner; + } + + public void setStandardOwner(String standardOwner) { + this.standardOwner = standardOwner; + } + + public String getStandardOwnerName() { + return standardOwnerName; + } + + public void setStandardOwnerName(String standardOwnerName) { + this.standardOwnerName = standardOwnerName; + } + + public String getStandardTemperature() { + return standardTemperature; + } + + public void setStandardTemperature(String standardTemperature) { + this.standardTemperature = standardTemperature; + } + + public String getTotalInvestment() { + return totalInvestment; + } + + public void setTotalInvestment(String totalInvestment) { + this.totalInvestment = totalInvestment; + } + + public String getTransmitRange() { + return transmitRange; + } + + public void setTransmitRange(String transmitRange) { + this.transmitRange = transmitRange; + } + + public String getTransmitRangeName() { + return transmitRangeName; + } + + public void setTransmitRangeName(String transmitRangeName) { + this.transmitRangeName = transmitRangeName; + } + + public String getUncertainty() { + return uncertainty; + } + + public void setUncertainty(String uncertainty) { + this.uncertainty = uncertainty; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public String getUserList() { + return userList; + } + + public void setUserList(String userList) { + this.userList = userList; + } + + public String getValidTime() { + return validTime; + } + + public void setValidTime(String validTime) { + this.validTime = validTime; + } + + public String getVerifyRegulationList() { + return verifyRegulationList; + } + + public void setVerifyRegulationList(String verifyRegulationList) { + this.verifyRegulationList = verifyRegulationList; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + } + } +} diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt index cb371ab..01627ed 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitService.kt @@ -308,6 +308,26 @@ suspend fun getRemindDeviceCount(@Header("token") token: String): String /** + * 获取到期装置列表 + */ + @POST("/meter/standard/remindListPage") + suspend fun getRemindDeviceList( + @Header("token") token: String, + @Body requestBody: RequestBody, + @QueryMap limit: Map, + @QueryMap offset: Map + ): String + + /** + * 催办装置 + */ + @POST("/meter/standard/remind") + suspend fun remindDevice( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String + + /** * 获取检定规程列表 */ @POST("/meter/standard/regulation/listPage") diff --git a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt index 613e881..aabd4fe 100644 --- a/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/xz/meterage/utils/retrofit/RetrofitServiceManager.kt @@ -690,6 +690,62 @@ } /** + * 获取到期装置列表 + */ + suspend fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ): String { + val param = JsonObject() + param.addProperty("managerState", managerState) + param.addProperty("standardName", standardName) + param.addProperty("validEndTime", validEndTime) + param.addProperty("validStartTime", validStartTime) + param.addProperty("preparationEndDate", preparationEndDate) + param.add("ids", gson.toJsonTree(ids, typeToken).asJsonArray) + param.addProperty("id", id) + param.addProperty("category", category) + param.addProperty("preparationStartDate", preparationStartDate) + param.addProperty("standardNo", standardNo) + param.addProperty("standardLaboratory", standardLaboratory) + + 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 + return api.getRemindDeviceList( + AuthenticationHelper.token!!, requestBody, limitMap, offsetMap + ) + } + + /** + * 催办装置 + */ + suspend fun remindDevice(id: String): String { + val param = JsonObject() + param.addProperty("id", id) + val requestBody = param.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.remindDevice(AuthenticationHelper.token!!, requestBody) + } + + /** * 获取检定规程列表 */ suspend fun getVerifyProcedureList(id: String): String { diff --git a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt index 35a5837..1ccb314 100644 --- a/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt +++ b/app/src/main/java/com/casic/xz/meterage/view/home/OvertimeDeviceActivity.kt @@ -1,4 +1,242 @@ package com.casic.xz.meterage.view.home -class OvertimeDeviceActivity { +import android.content.Context +import android.os.Handler +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.DividerItemDecoration +import com.casic.xz.meterage.R +import com.casic.xz.meterage.base.ApplicationBaseActivity +import com.casic.xz.meterage.extensions.formatToYearMonthDay +import com.casic.xz.meterage.extensions.initLayoutImmersionBar +import com.casic.xz.meterage.extensions.isEarlierThenCurrent +import com.casic.xz.meterage.extensions.showEmptyPage +import com.casic.xz.meterage.model.RemindDeviceListModel +import com.casic.xz.meterage.utils.LoadingDialogHub +import com.casic.xz.meterage.vm.EquipmentViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter +import com.pengxh.kt.lite.adapter.ViewHolder +import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.extensions.navigatePageTo +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.vm.LoadState +import com.pengxh.kt.lite.widget.dialog.AlertControlDialog +import kotlinx.android.synthetic.main.activity_overtime_device.* +import kotlinx.android.synthetic.main.include_empty_view.* +import kotlinx.android.synthetic.main.include_search_title.* + +class OvertimeDeviceActivity : ApplicationBaseActivity() { + + private var context: Context = this@OvertimeDeviceActivity + private lateinit var weakReferenceHandler: WeakReferenceHandler + private lateinit var equipmentViewModel: EquipmentViewModel + private lateinit var equipmentAdapter: NormalRecyclerAdapter + private var dataBeans: MutableList = ArrayList() + private var pageIndex = 1 + private var isRefresh = false + private var isLoadMore = false + private var clickedPosition = 0 + + override fun initLayoutView(): Int = R.layout.activity_overtime_device + + override fun setupTopBarLayout() { + ImmersionBar.with(this).statusBarDarkFont(true).init() + initLayoutImmersionBar(rootView) + titleView.text = "装置到期列表" + } + + override fun initData() { + weakReferenceHandler = WeakReferenceHandler(callback) + equipmentViewModel = ViewModelProvider(this)[EquipmentViewModel::class.java] + equipmentViewModel.remindDeviceList.observe(this) { + if (it.code == 200) { + val dataRows = it.data?.rows!! + when { + isRefresh -> { + dataBeans.clear() + dataBeans = dataRows + deviceLayout.finishRefresh() + isRefresh = false + } + isLoadMore -> { + if (dataRows.size == 0) { + "到底了,别拉了".show(this) + } + dataBeans.addAll(dataRows) + deviceLayout.finishLoadMore() + isLoadMore = false + } + else -> { + dataBeans = dataRows + } + } + weakReferenceHandler.sendEmptyMessage(2023041802) + } + } + + equipmentViewModel.remindDeviceResult.observe(this) { + if (it.code == 200) { + //催办之后列表虽然刷新,但是列表依旧存在,只有在对方处理了过期设备,列表还是刷新 + "操作成功".show(this) + } + } + } + + override fun observeRequestState() { + equipmentViewModel.loadState.observe(this) { + when (it) { + LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中...") + else -> LoadingDialogHub.dismiss() + } + } + } + + override fun initEvent() { + leftBackView.setOnClickListener { finish() } + + deviceLayout.setOnRefreshListener { + isRefresh = true + //刷新之后页码重置 + pageIndex = 1 + getRemindDeviceListByPage() + } + + deviceLayout.setOnLoadMoreListener { + isLoadMore = true + pageIndex++ + getRemindDeviceListByPage() + } + } + + override fun onResume() { + super.onResume() + pageIndex = 1 + getRemindDeviceListByPage() + } + + private fun getRemindDeviceListByPage() { + equipmentViewModel.getRemindDeviceList( + "", + "", + "", + "", + "", + arrayOf(), + "", + "", + "", + "", + "", + pageIndex + ) + } + + private val callback = Handler.Callback { + when (it.what) { + 2023041802 -> { + if (isRefresh || isLoadMore) { + equipmentAdapter.notifyDataSetChanged() + } else { + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage("无过期装置") { + pageIndex = 1 + getRemindDeviceListByPage() + } + } else { + emptyView!!.hide() + equipmentAdapter = object : + NormalRecyclerAdapter( + R.layout.item_remind_device_rv_l, dataBeans + ) { + override fun convertView( + viewHolder: ViewHolder, + position: Int, + item: RemindDeviceListModel.DataModel.RowsModel + ) { + val transmitRange = if (item.transmitRangeName.isNullOrBlank()) { + "未知" + } else { + item.transmitRangeName + } + + val remark = if (item.remark.isNullOrBlank()) { + "无" + } else { + item.remark + } + + val lab = if (item.standardLaboratoryName.isNullOrBlank()) { + "未知" + } else { + item.standardLaboratoryName + } + + if (item.validTime.isEarlierThenCurrent()) { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.red.convertColor(context) + ) + } else { + viewHolder.setTextColor( + R.id.deviceDateView, R.color.gray.convertColor(context) + ) + } + + viewHolder.setText(R.id.deviceNameView, item.standardName) + .setText(R.id.deviceStateView, item.managerStateName) + .setText(R.id.transmitRangeView, transmitRange) + .setText(R.id.measureMajorView, item.measureMajorName) + .setText(R.id.deviceCodeView, "装置编号:${item.standardNo}") + .setText(R.id.remarkView, "备注:$remark") + .setText(R.id.deviceLibView, lab) + .setText( + R.id.deviceDateView, + "有效期至:${item.validTime.formatToYearMonthDay()}" + ) + .setText(R.id.labOwnerView, "管理员:${item.laboratoryOwnerName}") + + viewHolder.setOnClickListener(R.id.remindButton) { + //标记被点击的item位置 + clickedPosition = position + AlertControlDialog.Builder() + .setContext(context) + .setTitle("提示") + .setMessage("确定催办该装置?") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + if (item.id.isBlank()) { + "装置ID异常,无法催办".show(context) + return + } + equipmentViewModel.remindDevice(item.id) + } + }).build().show() + } + } + } + deviceRecyclerView.addItemDecoration( + DividerItemDecoration(this, DividerItemDecoration.VERTICAL) + ) + deviceRecyclerView.adapter = equipmentAdapter + equipmentAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, t: RemindDeviceListModel.DataModel.RowsModel + ) { + navigatePageTo(t.id) + } + }) + } + } + } + } + true + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt index b1817bc..6291b19 100644 --- a/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt +++ b/app/src/main/java/com/casic/xz/meterage/vm/EquipmentViewModel.kt @@ -31,6 +31,8 @@ val remindEquipmentList = MutableLiveData() val remindEquipmentResult = MutableLiveData() val remindDeviceCount = MutableLiveData() + val remindDeviceList = MutableLiveData() + val remindDeviceResult = MutableLiveData() fun getEquipmentList( equipmentNo: String, @@ -328,4 +330,64 @@ it.cause.toString().show(BaseApplication.get()) it.printStackTrace() }) + + fun getRemindDeviceList( + managerState: String, + standardName: String, + validEndTime: String, + validStartTime: String, + preparationEndDate: String, + ids: Array, + id: String, + category: String, + preparationStartDate: String, + standardNo: String, + standardLaboratory: String, + offset: Int + ) = launch({ + loadState.value = LoadState.Loading + val response = RetrofitServiceManager.getRemindDeviceList( + managerState, + standardName, + validEndTime, + validStartTime, + preparationEndDate, + ids, + id, + category, + preparationStartDate, + standardNo, + standardLaboratory, + offset + ) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + loadState.value = LoadState.Success + remindDeviceList.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + loadState.value = LoadState.Fail + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + loadState.value = LoadState.Fail + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) + + fun remindDevice(id: String) = launch({ + val response = RetrofitServiceManager.remindDevice(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + remindDeviceResult.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.get()) + } + }, { + it.cause.toString().show(BaseApplication.get()) + it.printStackTrace() + }) } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_overtime_device.xml b/app/src/main/res/layout/activity_overtime_device.xml new file mode 100644 index 0000000..d1ce21a --- /dev/null +++ b/app/src/main/res/layout/activity_overtime_device.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_remind_device_rv_l.xml b/app/src/main/res/layout/item_remind_device_rv_l.xml new file mode 100644 index 0000000..dd60971 --- /dev/null +++ b/app/src/main/res/layout/item_remind_device_rv_l.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file