diff --git a/app/src/main/java/com/casic/detector/greendao/DaoSession.java b/app/src/main/java/com/casic/detector/greendao/DaoSession.java index cfa2a24..d950876 100644 --- a/app/src/main/java/com/casic/detector/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/detector/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final SmallLabelBeanDao smallLabelBeanDao; private final TaskBeanDao taskBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); labelBeanDaoConfig = daoConfigMap.get(LabelBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/detector/greendao/DaoSession.java b/app/src/main/java/com/casic/detector/greendao/DaoSession.java index cfa2a24..d950876 100644 --- a/app/src/main/java/com/casic/detector/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/detector/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final SmallLabelBeanDao smallLabelBeanDao; private final TaskBeanDao taskBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); labelBeanDaoConfig = daoConfigMap.get(LabelBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/detector/utils/ExcelHub.kt b/app/src/main/java/com/casic/detector/utils/ExcelHub.kt index 6a1a7ec..a3c1355 100644 --- a/app/src/main/java/com/casic/detector/utils/ExcelHub.kt +++ b/app/src/main/java/com/casic/detector/utils/ExcelHub.kt @@ -1,53 +1,60 @@ package com.casic.detector.utils +import android.content.Context import com.casic.detector.bean.LabelBean +import com.pengxh.kt.lite.extensions.show import jxl.Workbook +import jxl.read.biff.BiffException import java.io.File object ExcelHub { - fun read(filePath: String?): ArrayList { + fun read(context: Context, filePath: String?): ArrayList { val result = ArrayList() if (filePath.isNullOrBlank()) { return result } - val workbook = Workbook.getWorkbook(File(filePath)) - val sheet = workbook.getSheet(0) + try { + val workbook = Workbook.getWorkbook(File(filePath)) + val sheet = workbook.getSheet(0) - for (i in 1 until sheet.rows) { - val labelBean = LabelBean() - labelBean.pipelineType = sheet.getCell(0, i).contents - labelBean.pipelineDiameter = sheet.getCell(1, i).contents - labelBean.pipelineMaterial = sheet.getCell(2, i).contents - labelBean.buryMethod = sheet.getCell(3, i).contents - labelBean.buryDeep = sheet.getCell(4, i).contents - labelBean.area = sheet.getCell(5, i).contents - labelBean.line = sheet.getCell(6, i).contents - labelBean.road = sheet.getCell(7, i).contents - labelBean.constructTime = sheet.getCell(8, i).contents - labelBean.owner = sheet.getCell(9, i).contents - labelBean.objectId = sheet.getCell(10, i).contents - labelBean.identifierId = sheet.getCell(11, i).contents - labelBean.identifierType = sheet.getCell(12, i).contents - labelBean.identifierDeep = sheet.getCell(13, i).contents - labelBean.person = sheet.getCell(14, i).contents - labelBean.lng = sheet.getCell(15, i).contents - labelBean.lat = sheet.getCell(16, i).contents - labelBean.installTime = sheet.getCell(17, i).contents - labelBean.remark = sheet.getCell(18, i).contents - labelBean.lowerType = sheet.getCell(19, i).contents - labelBean.lowerDeep = sheet.getCell(20, i).contents - labelBean.lowerDiameter = sheet.getCell(21, i).contents - labelBean.lowerMaterial = sheet.getCell(22, i).contents - labelBean.objectType = sheet.getCell(23, i).contents - labelBean.color = sheet.getCell(24, i).contents - labelBean.imagePath = sheet.getCell(25, i).contents + for (i in 1 until sheet.rows) { + val labelBean = LabelBean() + labelBean.pipelineType = sheet.getCell(0, i).contents + labelBean.pipelineDiameter = sheet.getCell(1, i).contents + labelBean.pipelineMaterial = sheet.getCell(2, i).contents + labelBean.buryMethod = sheet.getCell(3, i).contents + labelBean.buryDeep = sheet.getCell(4, i).contents + labelBean.area = sheet.getCell(5, i).contents + labelBean.line = sheet.getCell(6, i).contents + labelBean.road = sheet.getCell(7, i).contents + labelBean.constructTime = sheet.getCell(8, i).contents + labelBean.owner = sheet.getCell(9, i).contents + labelBean.objectId = sheet.getCell(10, i).contents + labelBean.identifierId = sheet.getCell(11, i).contents + labelBean.identifierType = sheet.getCell(12, i).contents + labelBean.identifierDeep = sheet.getCell(13, i).contents + labelBean.person = sheet.getCell(14, i).contents + labelBean.lng = sheet.getCell(15, i).contents + labelBean.lat = sheet.getCell(16, i).contents + labelBean.installTime = sheet.getCell(17, i).contents + labelBean.remark = sheet.getCell(18, i).contents + labelBean.lowerType = sheet.getCell(19, i).contents + labelBean.lowerDeep = sheet.getCell(20, i).contents + labelBean.lowerDiameter = sheet.getCell(21, i).contents + labelBean.lowerMaterial = sheet.getCell(22, i).contents + labelBean.objectType = sheet.getCell(23, i).contents + labelBean.color = sheet.getCell(24, i).contents + labelBean.imagePath = sheet.getCell(25, i).contents - result.add(labelBean) + result.add(labelBean) + } + workbook.close() + } catch (e: BiffException) { + e.printStackTrace() + e.localizedMessage?.show(context) } - workbook.close() - return result } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/greendao/DaoSession.java b/app/src/main/java/com/casic/detector/greendao/DaoSession.java index cfa2a24..d950876 100644 --- a/app/src/main/java/com/casic/detector/greendao/DaoSession.java +++ b/app/src/main/java/com/casic/detector/greendao/DaoSession.java @@ -29,7 +29,8 @@ private final SmallLabelBeanDao smallLabelBeanDao; private final TaskBeanDao taskBeanDao; - public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> daoConfigMap) { + public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> + daoConfigMap) { super(db); labelBeanDaoConfig = daoConfigMap.get(LabelBeanDao.class).clone(); diff --git a/app/src/main/java/com/casic/detector/utils/ExcelHub.kt b/app/src/main/java/com/casic/detector/utils/ExcelHub.kt index 6a1a7ec..a3c1355 100644 --- a/app/src/main/java/com/casic/detector/utils/ExcelHub.kt +++ b/app/src/main/java/com/casic/detector/utils/ExcelHub.kt @@ -1,53 +1,60 @@ package com.casic.detector.utils +import android.content.Context import com.casic.detector.bean.LabelBean +import com.pengxh.kt.lite.extensions.show import jxl.Workbook +import jxl.read.biff.BiffException import java.io.File object ExcelHub { - fun read(filePath: String?): ArrayList { + fun read(context: Context, filePath: String?): ArrayList { val result = ArrayList() if (filePath.isNullOrBlank()) { return result } - val workbook = Workbook.getWorkbook(File(filePath)) - val sheet = workbook.getSheet(0) + try { + val workbook = Workbook.getWorkbook(File(filePath)) + val sheet = workbook.getSheet(0) - for (i in 1 until sheet.rows) { - val labelBean = LabelBean() - labelBean.pipelineType = sheet.getCell(0, i).contents - labelBean.pipelineDiameter = sheet.getCell(1, i).contents - labelBean.pipelineMaterial = sheet.getCell(2, i).contents - labelBean.buryMethod = sheet.getCell(3, i).contents - labelBean.buryDeep = sheet.getCell(4, i).contents - labelBean.area = sheet.getCell(5, i).contents - labelBean.line = sheet.getCell(6, i).contents - labelBean.road = sheet.getCell(7, i).contents - labelBean.constructTime = sheet.getCell(8, i).contents - labelBean.owner = sheet.getCell(9, i).contents - labelBean.objectId = sheet.getCell(10, i).contents - labelBean.identifierId = sheet.getCell(11, i).contents - labelBean.identifierType = sheet.getCell(12, i).contents - labelBean.identifierDeep = sheet.getCell(13, i).contents - labelBean.person = sheet.getCell(14, i).contents - labelBean.lng = sheet.getCell(15, i).contents - labelBean.lat = sheet.getCell(16, i).contents - labelBean.installTime = sheet.getCell(17, i).contents - labelBean.remark = sheet.getCell(18, i).contents - labelBean.lowerType = sheet.getCell(19, i).contents - labelBean.lowerDeep = sheet.getCell(20, i).contents - labelBean.lowerDiameter = sheet.getCell(21, i).contents - labelBean.lowerMaterial = sheet.getCell(22, i).contents - labelBean.objectType = sheet.getCell(23, i).contents - labelBean.color = sheet.getCell(24, i).contents - labelBean.imagePath = sheet.getCell(25, i).contents + for (i in 1 until sheet.rows) { + val labelBean = LabelBean() + labelBean.pipelineType = sheet.getCell(0, i).contents + labelBean.pipelineDiameter = sheet.getCell(1, i).contents + labelBean.pipelineMaterial = sheet.getCell(2, i).contents + labelBean.buryMethod = sheet.getCell(3, i).contents + labelBean.buryDeep = sheet.getCell(4, i).contents + labelBean.area = sheet.getCell(5, i).contents + labelBean.line = sheet.getCell(6, i).contents + labelBean.road = sheet.getCell(7, i).contents + labelBean.constructTime = sheet.getCell(8, i).contents + labelBean.owner = sheet.getCell(9, i).contents + labelBean.objectId = sheet.getCell(10, i).contents + labelBean.identifierId = sheet.getCell(11, i).contents + labelBean.identifierType = sheet.getCell(12, i).contents + labelBean.identifierDeep = sheet.getCell(13, i).contents + labelBean.person = sheet.getCell(14, i).contents + labelBean.lng = sheet.getCell(15, i).contents + labelBean.lat = sheet.getCell(16, i).contents + labelBean.installTime = sheet.getCell(17, i).contents + labelBean.remark = sheet.getCell(18, i).contents + labelBean.lowerType = sheet.getCell(19, i).contents + labelBean.lowerDeep = sheet.getCell(20, i).contents + labelBean.lowerDiameter = sheet.getCell(21, i).contents + labelBean.lowerMaterial = sheet.getCell(22, i).contents + labelBean.objectType = sheet.getCell(23, i).contents + labelBean.color = sheet.getCell(24, i).contents + labelBean.imagePath = sheet.getCell(25, i).contents - result.add(labelBean) + result.add(labelBean) + } + workbook.close() + } catch (e: BiffException) { + e.printStackTrace() + e.localizedMessage?.show(context) } - workbook.close() - return result } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index 05e64e4..1cbecc3 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -13,6 +13,7 @@ import android.media.SoundPool import android.os.Bundle import android.os.CountDownTimer +import android.util.Log import android.view.KeyEvent import android.view.View import android.view.animation.Animation @@ -174,13 +175,13 @@ //下载最新的数据 val companyId = SaveKeyValues.getValue(LocaleConstant.USER_COMPANY_ID, "") val downloadUrl = companyId.toString().appendDownloadUrl(FileType.EXCEL) -// Log.d(kTag, "downloadUrl => $downloadUrl") + Log.d(kTag, "downloadUrl => $downloadUrl") FileDownloadManager.Builder().setDownloadFileSource(downloadUrl) .setFileSuffix("xls").setFileSaveDirectory(createDownloadFileDir()) .setOnFileDownloadListener(object : FileDownloadManager.OnFileDownloadListener { override fun onDownloadEnd(file: File) { lifecycleScope.launch(Dispatchers.Main) { - labelBeans = ExcelHub.read(file.absolutePath) + labelBeans = ExcelHub.read(context, file.absolutePath) withContext(Dispatchers.IO) { labelBeans.forEach { label -> DataBaseManager.get.insertTaskLabel(label)