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