From d2727f231319a48019bc3b87439136ab49b97b9b Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 08 十一月 2024 09:49:57 +0800 Subject: [PATCH] 1. 2024.11.08 修复部分bug --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt | 53 ++++++++++++++++++++++------------------------------- 1 files changed, 22 insertions(+), 31 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt index b6b57b7..e0f8796 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt @@ -1,5 +1,6 @@ package cn.flightfeather.supervision.lightshare.service.impl +import cn.flightfeather.supervision.business.bgtask.ReportTaskCtrl import cn.flightfeather.supervision.business.report.DataSource import cn.flightfeather.supervision.business.report.DbMapper import cn.flightfeather.supervision.business.report.file.ReportOne @@ -66,6 +67,8 @@ private val sceneRep: SceneRep, @Value("\${filePath}") var filePath: String, @Value("\${imgPath}") var imgPath: String, + private val dbMapper: DbMapper, + private val reportTaskCtrl: ReportTaskCtrl, ) : SearchService { override fun writeToFile(config: ExcelConfigVo, mode: Int) { @@ -96,20 +99,6 @@ } override fun getExcel(config: ExcelConfigVo, response: HttpServletResponse): Boolean { - val dbMapper = DbMapper( - scenseMapper, - problemlistMapper, - problemtypeMapper, - subtaskMapper, - monitorobjectversionMapper, - sceneConstructionSiteMapper, - sceneMixingPlantMapper, - sceneStorageYardMapper, - sceneWharfMapper, - taskMapper, - evaluationruleMapper, evaluationsubruleMapper, evaluationMapper, itemevaluationMapper, - ledgerSubTypeMapper, ledgerRecordMapper, userinfoMapper, userMapMapper, townMapper - ) val dataSource = DataSource(config, dbMapper) val t = when (config.mode) { 1 -> ReportOne(dataSource) @@ -119,25 +108,26 @@ else -> ReportOne(dataSource) } val fileName = t.getReportName() - val fName = URLEncoder.encode(fileName, "UTF-8") - response.apply { - setHeader("Content-Disposition", "attachment;filename=$fName") - setHeader("fileName", fName) - addHeader("Access-Control-Expose-Headers", "fileName") - contentType = "application/vnd.ms-excel;charset=UTF-8" - setHeader("Pragma", "no-cache") - setHeader("Cache-Control", "no-cache") - setDateHeader("Expires", 0) - } - val p = "$filePath/autoscore/" val file = File(p + fileName) if (config.forceUpdate || !file.exists()) { - t.toFile(p) + val downloadUrl = "/autoscore/${fileName}" + reportTaskCtrl.startTask(t, downloadUrl) + return false + } else { + val fName = Base64.getEncoder().encodeToString(fileName.toByteArray()) + response.apply { + setHeader("Content-Disposition", "attachment;filename=$fName") + setHeader("fileName", fName) + addHeader("Access-Control-Expose-Headers", "fileName") + contentType = "application/vnd.ms-excel;charset=UTF-8" + setHeader("Pragma", "no-cache") + setHeader("Cache-Control", "no-cache") + setDateHeader("Expires", 0) + } + response.outputStream.write(file.readBytes()) + return true } - response.outputStream.write(file.readBytes()) - - return true } override fun getSubTaskDetail(config: ExcelConfigVo): SubTaskTableVo { @@ -537,10 +527,11 @@ ledgerSubTypeMapper, ledgerRecordMapper, userinfoMapper, userMapMapper, townMapper ) val task = - taskService.getByDistrictCode(config.districtCode, config.startTime)?.takeIf { it.isNotEmpty() }?.get(0) + taskService.getByDistrictCode(config.districtCode, config.startTime).takeIf { it.isNotEmpty() }?.get(0) config.topTaskGuid = task?.tguid ?: "" + config.allScene = false val dataSource = mutableListOf<DataSource>() - config.sceneType = Constant.SceneType.TYPE1.value.toInt() +// config.sceneType = Constant.SceneType.TYPE1.value.toInt() dataSource.add(DataSource(config, dbMapper)) // val config2 = config.copy(sceneType = Constant.ScenseType.TYPE2.value.toInt()) -- Gitblit v1.9.3