feiyu02
2025-09-18 baf2cc2ce3dfd1235c012a3750132769fcd9ad2f
src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt
@@ -1,17 +1,22 @@
package cn.flightfeather.supervision.lightshare.web
import cn.flightfeather.supervision.common.log.BizLog
import cn.flightfeather.supervision.common.log.WorkStreamLogInfo
import cn.flightfeather.supervision.common.utils.Constant
import cn.flightfeather.supervision.domain.ds1.entity.Subtask
import cn.flightfeather.supervision.lightshare.service.SubtaskService
import cn.flightfeather.supervision.lightshare.vo.AreaVo
import cn.flightfeather.supervision.lightshare.vo.TaskVo
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import org.springframework.format.annotation.DateTimeFormat
import org.springframework.web.bind.annotation.*
import java.time.LocalDateTime
@Api(tags = ["SubtaskController"], description = "巡查子任务API接口")
@RestController
@RequestMapping("/subtask")
class SubtaskController(val subtaskService: SubtaskService) {
class SubtaskController(val subtaskService: SubtaskService, private val bizLog: BizLog) {
    @GetMapping
    fun getAll() = subtaskService.findAll()
@@ -22,7 +27,21 @@
    fun addList(@RequestBody subtasklist: List<Subtask>) = subtaskService.saveList(subtasklist)
    @PostMapping
    fun update(@RequestBody subtask: Subtask) = subtaskService.update(subtask)
    fun update(@RequestBody subtask: Subtask): Int {
        val res = subtaskService.changeStatus(subtask)
        if (subtask.status == Constant.TaskProgress.RUNINGSTATUS3.text) {
            val event = "在${subtask.scensename}结束巡查"
            bizLog.info(WorkStreamLogInfo(subtask.executorguids, subtask.executorrealtimes, event))
        }else if (subtask.status == Constant.TaskProgress.RUNINGSTATUS2.text) {
            val event = "在${subtask.scensename}开始巡查"
            bizLog.info(WorkStreamLogInfo(subtask.executorguids, subtask.executorrealtimes, event))
        }
        return res
    }
    @ApiOperation("调整巡查任务信息")
    @PostMapping("/adjust")
    fun adjust(@RequestBody subtask: Subtask) = resPack { subtaskService.update(subtask) }
    @GetMapping("/{id}")
    fun getById(@PathVariable id: String) = subtaskService.findByID(id)
@@ -70,4 +89,24 @@
        @RequestParam("topTaskId") topTaskId: String,
        @RequestParam(value = "sceneTypeId", required = false) sceneTypeId: Int?
    ) = subtaskService.getSummary(topTaskId, sceneTypeId)
    @ApiOperation("获取某类场景的巡查任务统计信息")
    @PostMapping("/summary/area")
    fun getTaskProgressByArea(
        @RequestBody areaVo: AreaVo,
    ) = subtaskService.getTaskProgressByArea(areaVo)
    @ApiOperation("获取某个场景的巡查任务")
    @GetMapping("/byScene")
    fun getByScene(
        @RequestParam sceneId: String,
        @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") startTime: LocalDateTime?,
        @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") endTime: LocalDateTime?,
    ) = subtaskService.getByScene(sceneId, startTime, endTime)
    @ApiOperation("获取某类场景的巡查任务统计信息")
    @PostMapping("/summary/area/problem")
    fun getSummaryByArea(
        @RequestBody areaVo: AreaVo,
    ) = resPack { subtaskService.getSummaryByArea(areaVo) }
}