riku
2022-06-17 3a5c011d9509d3bc0367921f463676c81ff2e374
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
package cn.flightfeather.supervision.lightshare.web
 
import cn.flightfeather.supervision.domain.ds1.entity.Problemlist
import cn.flightfeather.supervision.lightshare.service.ProblemlistService
import cn.flightfeather.supervision.lightshare.vo.*
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
 
@Api(tags = ["ProblemlistController"], description = "监管问题API接口")
@RestController
@RequestMapping("/problemlist")
class ProblemlistController(val problemlistService: ProblemlistService) {
    @GetMapping
    fun getAll() = problemlistService.findAll()
 
    @PutMapping
    fun add(@RequestBody problemlist: Problemlist) = problemlistService.save(problemlist)
 
    @PostMapping
    fun update(@RequestBody problemlist: Problemlist) = problemlistService.update(problemlist)
 
    @GetMapping("/{id}")
    fun getById(@PathVariable id: String) = problemlistService.findByID(id)
 
    @DeleteMapping("/{id}")
    fun delete(@PathVariable id: String) = problemlistService.delete(id)
 
    @PostMapping("/{id}")
    fun setDeleteStatus(@PathVariable id: String) = problemlistService.setDeleteStatus(id)
 
    @PostMapping("/add")
    fun addProblem(@RequestBody problemlistVo: ProblemlistVo) {
        problemlistService.addProblem(problemlistVo)
    }
 
    @PostMapping("/getbyarea")
    fun getByArea(@RequestBody areaVo: AreaVo): List<ProblemlistVo> = problemlistService.getByArea(areaVo)
 
    @GetMapping("/getbytoptask")
    fun getByTopTask(@RequestParam(value = "tguid", required = true) tguid: String): List<ProblemlistVo> = problemlistService.getByTopTask(tguid)
 
    @PostMapping("/getStatisticalResult")
    fun getStatisticalResult(@RequestBody areaVo: AreaVo): List<StatisticsVo> = problemlistService.getStatisticalResult(areaVo)
 
    @PostMapping("/getStatisticalResultById")
    fun getStatisticalResult(@RequestParam(value = "id", required = true) topTaskId: String,
                             @RequestParam(value = "curSceneTypeId", required = true) sceneTypeId: String): List<StatisticsVo> = problemlistService.getStatisticalResultById(topTaskId, sceneTypeId)
 
    @PostMapping("/getChargeResult")
    fun getChargeResult(@RequestBody areaVo: AreaVo): ChargeInfoVo = problemlistService.getChargeResult(areaVo)
 
    @GetMapping("/getProblemsByScene")
    fun getProblemsByScene(@RequestParam(value = "sceneId", required = true) sceneId: String, @RequestParam date: String): List<ProblemlistVo> = problemlistService.getProblemByScene(sceneId, date)
 
    @GetMapping("/month_anlysis")
    fun getMonthProblemsById(@RequestParam(value = "taskId", required = true) taskId: String,
                             @RequestParam(value = "sceneType", required = false) sceneType: Int?): List<MonthProblemVo> = problemlistService.findMonthProblemById(taskId, sceneType)
 
    @ApiOperation(value = "对问题进行审核操作", notes = "包括问题的提交审核和整改审核两种")
    @PostMapping("/check")
    fun checkProblem(
            @ApiParam(value = "问题id主键") @RequestParam("pId") pId: String,
            @ApiParam(value = "审核操作, 0: 审核通过;1: 审核不通过;2: 整改通过;3: 整改不通过", allowableValues = "0,1,2,3") @RequestParam("action") action: Byte,
            @ApiParam(value = "审核备注") @RequestParam("remark") remark: String,
            @ApiParam(value = "用户id") @RequestParam("userId") userId: String,
            @ApiParam(value = "用户名") @RequestParam("userName") userName: String
    ) = problemlistService.check(pId, action, remark, userId, userName)
 
    @ApiOperation(value = "新增一个问题", notes = "简化上传所需问题信息,将大部分操作交由后台完成")
    @PostMapping("/newProblem")
    fun newProblem(
        @RequestParam("problemVo") problemVo: String,
        @RequestPart("images") files: Array<MultipartFile>
    ) = problemlistService.newProblem(problemVo, files)
}