package com.qianwen.smartman.modules.mdc.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.List; import com.qianwen.core.mp.support.Query; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.stereotype.ApiResource; import com.qianwen.core.secure.annotation.PreAuth; import com.qianwen.core.tool.api.R; import com.qianwen.smartman.modules.mdc.service.IWorkstationAnalysisService; import com.qianwen.smartman.modules.mdc.vo.AlarmAnalysisWorkstationVO; import com.qianwen.smartman.modules.mdc.vo.DeviceStatusStatisticsVO; import com.qianwen.smartman.modules.mdc.vo.StatusAnalysisWorkstationVO; import com.qianwen.smartman.modules.mdc.vo.StatusTimeTotalVO; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Api(value = "工位分析controller", tags = {"工位分析controller"}) @ApiResource({"mdc/work-station-analysis"}) @RestController public class WorkstationAnalysisController { private final IWorkstationAnalysisService workstationAnalysisService; public WorkstationAnalysisController(final IWorkstationAnalysisService workstationAnalysisService) { this.workstationAnalysisService = workstationAnalysisService; } @ApiOperationSupport(order = 1) @GetResource({"/status/{workstationId}"}) @ApiOperation("工位当日状态甘特图") @PreAuth public R> statusByWorkstation(@PathVariable String workstationId) { return R.data(this.workstationAnalysisService.statusByWorkstation(workstationId)); } @ApiOperationSupport(order = 2) @GetResource({"/alarm/{workstationId}"}) @ApiOperation("工位预警信息") @PreAuth public R> alarmByWorkstation(@PathVariable String workstationId, Query query) { return R.data(this.workstationAnalysisService.alarmByWorkstation(workstationId, query)); } @ApiOperationSupport(order = 3) @GetResource({"/status-time-total"}) @ApiOperation("工位组标签统计") public R statusTimeTotalByGroupId(@RequestParam("groupId") String groupId, @RequestParam("groupName") String groupName) { return R.data(this.workstationAnalysisService.statusTimeTotalByGroupId(groupId, groupName)); } /** * 首页顶部,即时信息顶部,显示每个状态有几台设备的功能 * @return */ @ApiOperationSupport(order = 3) @GetResource({"/device-status-statistics"}) @ApiOperation("设备状态统计") public R> deviceStatusStatistics() { return R.data(this.workstationAnalysisService.deviceStatusStatistics()); } }