feiyu02
2025-09-30 a3cc1d220f8a1de11874bebceba0130d32157ff1
src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt
@@ -2,8 +2,14 @@
import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
import cn.flightfeather.supervision.lightshare.service.EvaluationService
import cn.flightfeather.supervision.lightshare.vo.AreaVo
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import org.springframework.web.bind.annotation.*
import org.springframework.web.multipart.MultipartFile
import springfox.documentation.annotations.ApiIgnore
import javax.servlet.http.HttpServletResponse
@Api(tags = ["EvaluationController"], description = "评估总分API接口")
@RestController
@@ -25,27 +31,64 @@
    fun delete(@PathVariable id: String) = evaluationService.delete(id)
    @GetMapping("/rankofscense")
    fun getRankOfScense(@RequestParam(value = "tguid", required = true) tguid: String,
                        @RequestParam(value = "scensetypeid", required = false) scensetypeid: String?,
                        @RequestParam(value = "ruletypeid", required = false) ruletypeid: ByteArray?) = evaluationService.getRankOfSense(tguid, scensetypeid, ruletypeid)
    fun getRankOfScense(
        @RequestParam(value = "tguid", required = true) tguid: String,
        @RequestParam(value = "scensetypeid", required = false) scensetypeid: String?,
        @RequestParam(value = "ruletypeid", required = false) ruletypeid: ByteArray?,
    ) = evaluationService.getRankOfSense(tguid, scensetypeid, ruletypeid)
    @GetMapping("/rankoftown")
    fun getRankOfTown(@RequestParam(value = "tguid", required = true) tguid: String,
                      @RequestParam(value = "scensetypeid", required = false) scensetypeid: String?) = evaluationService.getRankOfTown(tguid, scensetypeid)
    fun getRankOfTown(
        @RequestParam(value = "tguid", required = true) tguid: String,
        @RequestParam(value = "scensetypeid", required = false) scensetypeid: String?,
    ) = evaluationService.getRankOfTown(tguid, scensetypeid)
    @GetMapping("/autoScore")
    fun autoScore(@RequestParam(value = "districtCode") districtCode: String,
                  @RequestParam(value = "time") time: String) = evaluationService.autoScore(districtCode, time)
    fun autoScore(
        @RequestParam(value = "districtCode") districtCode: String,
        @RequestParam(value = "time") time: String,
    ) = evaluationService.autoScore(districtCode, time)
    @GetMapping("/autoScore3")
    fun autoScore3(
        @RequestParam(value = "topTaskId") tGuid: String,
        @RequestParam(value = "sceneTypeId") sceneTypeId: String
        @RequestParam(value = "sceneTypeId") sceneTypeId: String,
    ) = evaluationService.autoScore3(tGuid, sceneTypeId)
    @PostMapping("/autoScore")
    fun autoScore2(@RequestParam(value = "subTaskId") subTaskId: String) = evaluationService.autoScore2(subTaskId)
    @GetMapping("/byInspection")
    fun findByInspectionId(@RequestParam("inspectionId") inspectionId: String) = evaluationService.findByInspectionId(inspectionId)
    fun findByInspectionId(@RequestParam("inspectionId") inspectionId: String) =
        evaluationService.findByInspectionId(inspectionId)
    @ApiOperation(value = "根据区域范围自动评估")
    @PostMapping("/auto")
    fun autoEvaluate(@RequestBody areaVo: AreaVo) = resPack { evaluationService.autoEvaluate(areaVo) }
    @ApiOperation(value = "根据区域范围获取自动评估历史记录")
    @PostMapping("/auto/record")
    fun findAutoEvaluation(@RequestBody areaVo: AreaVo) = resPack { evaluationService.findAutoEvaluation(areaVo) }
    @ApiOperation(value = "下载自动评估结果")
    @PostMapping("/auto/record/download")
    fun downloadAutoEvaluation(
        @ApiParam("区域条件信息") @RequestBody areaVo: AreaVo,
        @ApiParam("是否强制生成新的报告") @RequestParam forceUpdate: Boolean,
        @ApiIgnore response: HttpServletResponse,
    ) = resPack { evaluationService.downloadAutoEvaluation(areaVo, forceUpdate, response) }
    @ApiOperation(value = "下载自动评估结果导入模板")
    @PostMapping("/auto/record/template")
    fun downloadAutoEvaTemplate(
        @ApiParam("区域条件信息") @RequestBody areaVo: AreaVo,
        @ApiIgnore response: HttpServletResponse,
    ) = resPack { evaluationService.downloadAutoEvaTemplate(areaVo, response) }
    @ApiOperation(value = "上传自动评估结果")
    @PutMapping("/auto/record/upload")
    fun uploadAutoEvaluation(
        @ApiParam("区域条件信息") @RequestBody areaVo: AreaVo,
        @ApiParam("excel文件") @RequestPart("excel") file: MultipartFile,
    ) = resPack { evaluationService.uploadAutoEvaluation(areaVo, file) }
}