testing L command changed the TestStatus
This commit is contained in:
@@ -10,8 +10,8 @@ enum class TestStatus(val code: Double) {
|
|||||||
FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4),
|
FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4),
|
||||||
EPROM_ADC_RETRIEVAL_STARTED(4.5),
|
EPROM_ADC_RETRIEVAL_STARTED(4.5),
|
||||||
EPROM_ADC_RETRIEVAL_COMPLETED(4.6),
|
EPROM_ADC_RETRIEVAL_COMPLETED(4.6),
|
||||||
CUVETTE_PRESENT(4.7),
|
CUVETTE_ABSENT(4.7),
|
||||||
CUVETTE_ABSENT(4.8),
|
CUVETTE_PRESENT(4.8),
|
||||||
BUFFER_STARTED(4.9),
|
BUFFER_STARTED(4.9),
|
||||||
BUFFER_COMPLETED(5.1),
|
BUFFER_COMPLETED(5.1),
|
||||||
BUFFER_PRINT_STARTED(6.0),
|
BUFFER_PRINT_STARTED(6.0),
|
||||||
|
|||||||
@@ -11,4 +11,6 @@ interface LocalFileDataSource {
|
|||||||
fun exportDataToCSV(
|
fun exportDataToCSV(
|
||||||
fileName: String, dataList: List<HemoCubeTestData>,
|
fileName: String, dataList: List<HemoCubeTestData>,
|
||||||
): Boolean
|
): Boolean
|
||||||
|
fun backUpDataToCSV(fileName: String, dataList: List<HemoCubeTestData>)
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -153,6 +153,127 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun backUpDataToCSV(fileName: String, dataList: List<HemoCubeTestData>) {
|
||||||
|
try {
|
||||||
|
val filePath = File(getExternalStorageDirectory(), fileName)
|
||||||
|
val writer = FileWriter(filePath)
|
||||||
|
val csvWriter = CSVWriter(writer)
|
||||||
|
// Write CSV header
|
||||||
|
val header = arrayOf(
|
||||||
|
"_id",
|
||||||
|
"name",
|
||||||
|
"incubationTime",
|
||||||
|
"bloodGroup",
|
||||||
|
"birthYear", // Include other fields from the data class
|
||||||
|
"state",
|
||||||
|
"abhaId",
|
||||||
|
"userImageURL",
|
||||||
|
"location",
|
||||||
|
"reportUploadTime",
|
||||||
|
"testType",
|
||||||
|
"testTime",
|
||||||
|
"testStatus",
|
||||||
|
"gender",
|
||||||
|
"localFlag", // Add more fields as necessary
|
||||||
|
"deviceId",
|
||||||
|
"appVersion",
|
||||||
|
"deviceSerialNumber",
|
||||||
|
"deviceType",
|
||||||
|
"kitSerial",
|
||||||
|
"resultData",
|
||||||
|
"led1Buffer",
|
||||||
|
"led2Buffer",
|
||||||
|
"led3Buffer",
|
||||||
|
"led4Buffer",
|
||||||
|
"led1Sample",
|
||||||
|
"led2Sample",
|
||||||
|
"led3Sample",
|
||||||
|
"led4Sample",
|
||||||
|
"led1Average",
|
||||||
|
"led2Average",
|
||||||
|
"led3Average",
|
||||||
|
"led4Average",
|
||||||
|
"abs1",
|
||||||
|
"abs2",
|
||||||
|
"abs3",
|
||||||
|
"abs4",
|
||||||
|
"deviceRatio",
|
||||||
|
"calculatedRatio",
|
||||||
|
"predictedDenovixRatio",
|
||||||
|
"coefficients",
|
||||||
|
"classificationResult",
|
||||||
|
"prdClassification",
|
||||||
|
"errorMessages",
|
||||||
|
"batteryLevel",
|
||||||
|
"batteryCapacity",
|
||||||
|
"batteryMaxCapacity",
|
||||||
|
"batteryTemperature",
|
||||||
|
"batteryVoltage"
|
||||||
|
)
|
||||||
|
csvWriter.writeNext(header)
|
||||||
|
|
||||||
|
// Filter and write data rows where testStatus is true
|
||||||
|
val filteredDataList = dataList.filter { it.testStatus == true }
|
||||||
|
for (data in filteredDataList) {
|
||||||
|
val row = arrayOf(
|
||||||
|
data._id,
|
||||||
|
data.name,
|
||||||
|
data.incubationTime,
|
||||||
|
data.bloodGroup,
|
||||||
|
data.birthYear, // Include other fields similarly
|
||||||
|
data.state,
|
||||||
|
data.abhaId,
|
||||||
|
data.userImageURL,
|
||||||
|
data.location?.toString(),
|
||||||
|
data.reportUploadTime ?: "",
|
||||||
|
data.testType ?: "",
|
||||||
|
data.testTime ?: "",
|
||||||
|
data.testStatus?.toString() ?: "",
|
||||||
|
data.gender,
|
||||||
|
data.localFlag.toString(),
|
||||||
|
data.deviceId ?: "",
|
||||||
|
data.appVersion ?: "",
|
||||||
|
data.deviceSerialNumber,
|
||||||
|
data.deviceType,
|
||||||
|
data.kitSerial,
|
||||||
|
data.resultData,
|
||||||
|
data.led1Buffer?.toString() ?: "",
|
||||||
|
data.led2Buffer?.toString() ?: "",
|
||||||
|
data.led3Buffer?.toString() ?: "",
|
||||||
|
data.led4Buffer?.toString() ?: "",
|
||||||
|
data.led1Sample?.toString() ?: "",
|
||||||
|
data.led2Sample?.toString() ?: "",
|
||||||
|
data.led3Sample?.toString() ?: "",
|
||||||
|
data.led4Sample?.toString() ?: "",
|
||||||
|
data.led1Average?.toString() ?: "",
|
||||||
|
data.led2Average?.toString() ?: "",
|
||||||
|
data.led3Average?.toString() ?: "",
|
||||||
|
data.led4Average?.toString() ?: "",
|
||||||
|
data.abs1?.toString() ?: "",
|
||||||
|
data.abs2?.toString() ?: "",
|
||||||
|
data.abs3?.toString() ?: "",
|
||||||
|
data.abs4?.toString() ?: "",
|
||||||
|
data.deviceRatio?.toString() ?: "",
|
||||||
|
data.calculatedRatio?.toString() ?: "",
|
||||||
|
data.predictedDenovixRatio?.toString() ?: "",
|
||||||
|
data.coefficients ?: "",
|
||||||
|
data.classificationResult,
|
||||||
|
data.prdClassification,
|
||||||
|
data.errorMessages,
|
||||||
|
data.batteryLevel,
|
||||||
|
data.batteryCapacity,
|
||||||
|
data.batteryMaxCapacity,
|
||||||
|
data.batteryTemperature,
|
||||||
|
data.batteryVoltage
|
||||||
|
)
|
||||||
|
csvWriter.writeNext(row)
|
||||||
|
}
|
||||||
|
writer.close()
|
||||||
|
} catch (e: IOException) {
|
||||||
|
e.printStackTrace()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun getExternalStorageDirectory(): File {
|
private fun getExternalStorageDirectory(): File {
|
||||||
val folder = File(Environment.getExternalStorageDirectory(), "HposFolder")
|
val folder = File(Environment.getExternalStorageDirectory(), "HposFolder")
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class HemoCubeViewModel @Inject constructor(
|
|||||||
testDetails?.kitSerial = kitSerial
|
testDetails?.kitSerial = kitSerial
|
||||||
}
|
}
|
||||||
testDetails?.testStatus = testStatus
|
testDetails?.testStatus = testStatus
|
||||||
|
// localFileDataSource.backUpDataToCSV("",testDetails)
|
||||||
try {
|
try {
|
||||||
if (isOnline) {
|
if (isOnline) {
|
||||||
parseData()
|
parseData()
|
||||||
@@ -559,7 +559,7 @@ class HemoCubeViewModel @Inject constructor(
|
|||||||
val fileName = "HPOS${getCurrentDate()}.csv"
|
val fileName = "HPOS${getCurrentDate()}.csv"
|
||||||
if (localFileDataSource.exportDataToCSV(fileName, hemoCubeTestData)) {
|
if (localFileDataSource.exportDataToCSV(fileName, hemoCubeTestData)) {
|
||||||
hemoCubeTestData.forEach { data ->
|
hemoCubeTestData.forEach { data ->
|
||||||
data.localFlag = true
|
// data.localFlag = true
|
||||||
hemoCubeDao.updateCSVFieldById(
|
hemoCubeDao.updateCSVFieldById(
|
||||||
data._id,
|
data._id,
|
||||||
true
|
true
|
||||||
|
|||||||
Reference in New Issue
Block a user