feiyu02
2025-07-31 6688232eaa889eeb6c58d0d804b587699db55ec2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package cn.flightfeather.supervision.lightshare.web
 
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
@RequestMapping("/evaluation")
class EvaluationController(val evaluationService: EvaluationService) {
    @GetMapping
    fun getAll() = evaluationService.findAll()
 
    @PutMapping
    fun add(@RequestBody evaluation: Evaluation) = evaluationService.save(evaluation)
 
    @PostMapping
    fun update(@RequestBody evaluation: Evaluation) = evaluationService.update(evaluation)
 
    @GetMapping("/{id}")
    fun getById(@PathVariable id: String) = evaluationService.findOne(id)
 
    @DeleteMapping("/{id}")
    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)
 
    @GetMapping("/rankoftown")
    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)
 
    @GetMapping("/autoScore3")
    fun autoScore3(
        @RequestParam(value = "topTaskId") tGuid: 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)
 
    @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) }
}