From 82baf5d28ce79aa4d3b64956207d247596726924 Mon Sep 17 00:00:00 2001
From: hcong <1050828145@qq.com>
Date: 星期二, 10 十二月 2024 11:21:33 +0800
Subject: [PATCH] 1. BgTaskStatus状态属性序列化
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt | 78 +++++++++++++++++++--------------------
1 files changed, 38 insertions(+), 40 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 c7be139..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
@@ -12,6 +13,7 @@
import cn.flightfeather.supervision.domain.ds1.mapper.*
import cn.flightfeather.supervision.domain.ds1.repository.EvaluationRep
import cn.flightfeather.supervision.domain.ds1.repository.EvaluationRuleRep
+import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
import cn.flightfeather.supervision.domain.ds2.mapper.LedgerRecordMapper
import cn.flightfeather.supervision.domain.ds2.mapper.LedgerSubTypeMapper
import cn.flightfeather.supervision.domain.ds2.mapper.UserMapMapper
@@ -62,11 +64,12 @@
val taskService: TaskService,
private val evaluationRep: EvaluationRep,
private val evaluationRuleRep: EvaluationRuleRep,
+ private val sceneRep: SceneRep,
@Value("\${filePath}") var filePath: String,
@Value("\${imgPath}") var imgPath: String,
+ private val dbMapper: DbMapper,
+ private val reportTaskCtrl: ReportTaskCtrl,
) : SearchService {
-
- private val dateUtil = DateUtil()
override fun writeToFile(config: ExcelConfigVo, mode: Int) {
val dbMapper = DbMapper(
@@ -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 {
@@ -256,9 +246,9 @@
}
//寤虹珛绗竴灞傜洰褰曪紝鍖呭惈鎵�鏈夌殑浠诲姟
- val time = dateUtil.DateToString(Date(), "yyyy-MM-dd_HH-mm-ss")
+ val time = DateUtil.DateToString(Date(), "yyyy-MM-dd_HH-mm-ss")
var basePath =
- Constant.DEFAULT_FILE_PATH + File.separator + "images" + File.separator + "temp" + File.separator + time
+ imgPath + File.separator + "temp" + File.separator + time
var file = File(basePath)
var i = 1
while (file.exists() && i <= 100) {
@@ -310,7 +300,7 @@
createCriteria().andEqualTo("businessguid", p.guid)
}).forEach { m ->
val picPath =
- Constant.DEFAULT_FILE_PATH + File.separator + "images" + File.separator + m.extension1 + m.guid + ".jpg"
+ imgPath + File.separator + m.extension1 + m.guid + ".jpg"
val fromFile = File(picPath)
val picName = p.problemname + "_" + p.location + "($y).jpg"
val toFile = File(pPath + File.separator + picName)
@@ -349,9 +339,9 @@
override fun downloadPic2(sceneType: Int, topTaskId: String, response: HttpServletResponse): HttpServletResponse {
//寤虹珛绗竴灞傜洰褰曪紝鍖呭惈鎵�鏈夌殑浠诲姟
val topTask = taskMapper.selectByPrimaryKey(topTaskId)
- val time = dateUtil.DateToString(Date(), "yyyy-MM-dd_HH-mm-ss")
+ val time = DateUtil.DateToString(Date(), "yyyy-MM-dd_HH-mm-ss")
val basePath =
- Constant.DEFAULT_FILE_PATH + File.separator + "images" + File.separator + "temp" + File.separator + topTask.name
+ imgPath + File.separator + "temp" + File.separator + topTask.name
val file = File(basePath)
if (!file.exists()) {
file.mkdirs()
@@ -370,7 +360,7 @@
//寤虹珛涓�涓瓙浠诲姟鏂囦欢澶�
var subTaskFilePath = "${basePath}${File.separator}(${
- dateUtil.DateToString(
+ DateUtil.DateToString(
it.planstarttime,
DateUtil.DateStyle.YYYY_MM_DD_CN
)
@@ -420,7 +410,7 @@
u.forEach { f ->
val picPath =
- Constant.DEFAULT_FILE_PATH + File.separator + "images" + File.separator + f.extension1 + f.guid + ".jpg"
+ imgPath + File.separator + f.extension1 + f.guid + ".jpg"
val fromFile = File(picPath)
val picName = f.description
val toFile = File(pPath + File.separator + picName)
@@ -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())
@@ -560,15 +551,22 @@
}
override fun getScoreDetail(subTaskId: String): ScoreDetail {
+ //鍦烘櫙淇℃伅
+ val scene = sceneRep.findBySubTask(subTaskId)
+ //鎬诲垎
+ val evaluation = evaluationRep.findBySubtask(subTaskId)
//瀛愯鍒欓�愭潯寰楀垎
val subRuleScores = evaluationRep.findItemEvaluation(subTaskId)
+ if (subRuleScores.isEmpty()) throw BizException("鏃犺瘎浼拌褰�")
//璇勫垎鎬昏鍒�
val rule = evaluationRuleRep.findAutoEvaluationRule(subTaskId) ?: throw BizException("鏈壘鍒扮浉鍏宠嚜鍔ㄨ瘎浼拌鍒�")
//鎬昏鍒欏搴旂殑璇勫垎瀛愯鍒�
val subRules = evaluationRuleRep.findSubRule(rule.guid)
//鏌ヨ缁撴灉
val result = ScoreDetail()
+ result.status = if (scene?.extension1.equals("1")) "鍦ㄥ缓" else "瀹屽伐"
+ result.updateTime = evaluation?.updatedate
subRules.forEach {
it.ertype ?: return@forEach
result.addDetail(result.details, it, it.ertype!! - 1, subRuleScores, true)
--
Gitblit v1.9.3