feiyu02
2024-11-08 d2727f231319a48019bc3b87439136ab49b97b9b
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt
@@ -6,10 +6,8 @@
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
import cn.flightfeather.supervision.business.report.file.ReportThree
import cn.flightfeather.supervision.business.report.file.ReportTwo
import cn.flightfeather.supervision.common.exception.ResponseErrorException
import cn.flightfeather.supervision.common.exception.BizException
import cn.flightfeather.supervision.common.executor.BgTaskStatus
import cn.flightfeather.supervision.domain.ds1.entity.Domainitem
import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
@@ -29,9 +27,9 @@
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
import org.springframework.web.multipart.MultipartFile
import tk.mybatis.mapper.entity.Example
import java.io.File
import java.net.URLEncoder
import java.util.*
import javax.servlet.http.HttpServletResponse
import kotlin.Comparator
@@ -42,7 +40,6 @@
    private val evaluationRep: EvaluationRep,
    private val taskRep: TaskRep,
    private val aopTaskCtrl: AopTaskCtrl,
    private val searchService: SearchService,
    private val dbMapper: DbMapper,
    @Value("\${filePath}") private val filePath: String,
    private val reportTaskCtrl: ReportTaskCtrl,
@@ -221,7 +218,7 @@
        val example = Example(Subtask::class.java)
        val criteria = example.createCriteria()
        criteria.andEqualTo("districtcode", districtCode)
        val date = DateUtil().StringToDate(time)
        val date = DateUtil.StringToDate(time)
        criteria.andGreaterThanOrEqualTo("planstarttime", time)
        val subTaskList = subtaskMapper.selectByExample(example)
        subTaskList.forEach {
@@ -287,12 +284,18 @@
        //1. 查找历史记录,查看评估是否已存在
//        areaVo.scensetypeid ?: throw ResponseErrorException("查询时必须选择一个场景类型")
//        val task = taskRep.findOneTask(areaVo) ?: throw ResponseErrorException("查询时必须选择一个场景类型")
        return evaluationRep.findAutoScore(areaVo)
        val evaList = evaluationRep.findAutoScore(areaVo)
        evaList?.forEach {
            it?.subTaskId?.let { id->
                it.itemEvaluations = evaluationRep.findItemEvaluation(id)
            }
        }
        return evaList
    }
    override fun downloadAutoEvaluation(areaVo: AreaVo, response: HttpServletResponse): Boolean {
        areaVo.scensetypeid ?: throw ResponseErrorException("必须选择一个场景类型")
        val topTask = taskRep.findOneTask(areaVo) ?: throw ResponseErrorException("未找到符合条件的顶层任务")
    override fun downloadAutoEvaluation(areaVo: AreaVo, forceUpdate: Boolean, response: HttpServletResponse): Boolean {
        areaVo.scensetypeid ?: throw BizException("必须选择一个场景类型")
        val topTask = taskRep.findOneTask(areaVo) ?: throw BizException("未找到符合条件的顶层任务")
        val config = ExcelConfigVo(
            topTask.tguid ?: "",
            topTask.starttime,
@@ -301,7 +304,8 @@
            topTask.citycode,
            topTask.districtcode,
            topTask.towncode,
            areaVo.scensetypeid?.toInt()
            areaVo.scensetypeid?.toInt(),
            forceUpdate = forceUpdate
        )
        val dataSource = DataSource(config, dbMapper)
@@ -310,8 +314,8 @@
        val p = "$filePath/autoscore/"
        val file = File(p + fileName)
        if (config.forceUpdate || !file.exists()) {
//            val downloadUrl = "/autoscore/${fileName}"
//            reportTaskCtrl.startTask(t, downloadUrl)
            val downloadUrl = "/autoscore/${fileName}"
            reportTaskCtrl.startTask(t, downloadUrl)
            return false
        } else {
            val fName = Base64.getEncoder().encodeToString(fileName.toByteArray())
@@ -328,4 +332,12 @@
            return true
        }
    }
    override fun downloadAutoEvaTemplate(areaVo: AreaVo, response: HttpServletResponse) {
        TODO("Not yet implemented")
    }
    override fun uploadAutoEvaluation(areaVo: AreaVo, file: MultipartFile): Boolean {
        TODO("Not yet implemented")
    }
}