package com.qianwen.smartman.modules.visual.controller;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.common.constant.ChartNameConstant;
|
import com.qianwen.smartman.common.constant.MdcConstant;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
import com.qianwen.core.scanner.modular.annotation.PostResource;
|
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
|
import com.qianwen.core.tool.api.R;
|
import com.qianwen.smartman.modules.mdc.enums.ProductivityTypeEnum;
|
import com.qianwen.smartman.modules.system.vo.ChartDataTableVO;
|
import com.qianwen.smartman.modules.system.vo.ChartGanttStatusDataVO;
|
import com.qianwen.smartman.modules.system.vo.ChartNameValueDataVO;
|
import com.qianwen.smartman.modules.system.vo.ChartSeriesDataVO;
|
import com.qianwen.smartman.modules.visual.service.IVisualStatusService;
|
import com.qianwen.smartman.modules.visual.vo.TimeStatusVO;
|
import com.qianwen.smartman.modules.visual.vo.VisualBaseVO;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RestController;
|
|
@Api(value = "可视化状态接口", tags = {"可视化状态接口"})
|
@ApiResource({"blade-visual/status"})
|
@RestController
|
|
public class VisualStatusController extends BladeController {
|
private final IVisualStatusService visualStatusService;
|
|
public VisualStatusController(final IVisualStatusService visualStatusService) {
|
this.visualStatusService = visualStatusService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@PostResource({"/record"})
|
@ApiOperation(value = "状态记录甘特图", notes = "传入visualBaseVO")
|
public R<ChartGanttStatusDataVO> getStatusRecordByDate(@Validated @RequestBody VisualBaseVO visualBaseVO) {
|
return R.data(this.visualStatusService.getVisualStatusRecord(visualBaseVO));
|
}
|
|
/**
|
* 首页卡片运行时长排名
|
* @param timeStatusVO
|
* @return
|
*/
|
@ApiOperationSupport(order = 2)
|
@PostResource({"/running-top"})
|
@ApiOperation(value = "设备运行时长TOP", notes = "传入timeStatusVO")
|
public R<ChartSeriesDataVO> getRunningStatusRecord(@Validated @RequestBody TimeStatusVO timeStatusVO) {
|
return R.data(this.visualStatusService.getDeviceStatusDuration(timeStatusVO, ChartNameConstant.DEVICE_RUN_STATUS));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource({"/waiting-top"})
|
@ApiOperation(value = "设备待机时长TOP", notes = "传入timeStatusVO")
|
public R<ChartSeriesDataVO> getWaitingStatusRecord(@Validated @RequestBody TimeStatusVO timeStatusVO) {
|
return R.data(this.visualStatusService.getDeviceStatusDuration(timeStatusVO, ChartNameConstant.DEVICE_WAIT_STATUS));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/distribution"})
|
@ApiOperation(value = "状态分布饼图", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getStatusDistribution(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getStatusDistribution(vo));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@PostResource({"/oee"})
|
@ApiOperation(value = MdcConstant.OEE_NAME, notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getOeeAnalysis(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getOeeAnalysis(vo));
|
}
|
/*
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/workstation-status"})
|
@ApiOperation(value = "工位实时数据(工位id)", notes = "传入visualBaseVO")
|
public R<ChartDataTableVO> workstationRealTimeStatus(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getWorkstationRealStatus(vo));
|
}
|
*/
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/workstation-status-chart"})
|
@ApiOperation(value = "工位状态统计", notes = "工位列表")
|
public R<ChartNameValueDataVO> workstationStatusChart(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getWorkstationRealStatusChart(vo));
|
}
|
/*
|
@ApiOperationSupport(order = 7)
|
@PostResource({"/workstation-alarm"})
|
@ApiOperation(value = "工位实时报警数据", notes = "传入visualBaseVO")
|
public R<ChartDataTableVO> workstationAlarmData(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getWorkstationAlarm(vo));
|
}
|
*/
|
|
@ApiOperationSupport(order = 8)
|
@PostResource({"/oee-top"})
|
@ApiOperation(value = "设备近N时稼动率TOP", notes = "传入visualBaseVO")
|
public R<ChartSeriesDataVO> getOeeAnalysisTop(@Validated @RequestBody TimeStatusVO timeStatusVO) {
|
return R.data(this.visualStatusService.getEfficiencyAnalysisTop(timeStatusVO, ProductivityTypeEnum.OEE));
|
}
|
|
@ApiOperationSupport(order = 9)
|
@PostResource({"/oee-shift-top"})
|
@ApiOperation(value = "当前班次稼动率TOP", notes = "传入visualBaseVO")
|
public R<ChartSeriesDataVO> getOeeAnalysisShiftTop(@Validated @RequestBody TimeStatusVO timeStatusVO) {
|
return R.data(this.visualStatusService.getEfficiencyAnalysisShiftTop(timeStatusVO, ProductivityTypeEnum.OEE));
|
}
|
|
@ApiOperationSupport(order = 10)
|
@PostResource({"/oee-average"})
|
@ApiOperation(value = "班次-设备平均稼动率", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getOeeAverageAnalysis(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getAverageEfficiencyAnalysis(vo, ProductivityTypeEnum.OEE));
|
}
|
|
@ApiOperationSupport(order = 11)
|
@PostResource({"/group-running"})
|
@ApiOperation(value = "班次-设备平均运行时长", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getGroupRunning(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getGroupRunning(vo, ProductivityTypeEnum.RUNNING));
|
}
|
|
@ApiOperationSupport(order = 12)
|
@PostResource({"/nature-record"})
|
@ApiOperation(value = "当日设备状态记录", notes = "传入visualBaseVO")
|
public R<ChartGanttStatusDataVO> getNatureStatusRecord(@Validated @RequestBody VisualBaseVO visualBaseVO) {
|
return R.data(this.visualStatusService.getNatureStatusRecord(visualBaseVO));
|
}
|
|
@ApiOperationSupport(order = 13)
|
@PostResource({"/today-distribution"})
|
@ApiOperation(value = "当日状态分布饼图", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getStatusToDayDistribution(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getStatusToDayDistribution(vo));
|
}
|
|
@ApiOperationSupport(order = 14)
|
@PostResource({"/shift-distribution"})
|
@ApiOperation(value = "当前班次状态分布饼图", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getStatusShiftDistribution(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getStatusShiftDistribution(vo));
|
}
|
|
@ApiOperationSupport(order = 15)
|
@PostResource({"/today-oee"})
|
@ApiOperation(value = "当日设备稼动率", notes = "传入visualBaseVO")
|
public R<ChartSeriesDataVO> getTodayOee(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getTodayStatusStatistics(vo, ProductivityTypeEnum.OEE));
|
}
|
|
@ApiOperationSupport(order = 16)
|
@PostResource({"/shift-status-record"})
|
@ApiOperation(value = "当前班次设备状态记录甘特图", notes = "传入visualBaseVO")
|
public R<ChartGanttStatusDataVO> getEquipmentStatusRecord(@Validated @RequestBody VisualBaseVO visualBaseVO) {
|
return R.data(this.visualStatusService.getEquipmentStatusRecord(visualBaseVO));
|
}
|
|
@ApiOperationSupport(order = 17)
|
@PostResource({"/today-average-oee"})
|
@ApiOperation(value = "当日设备平均稼动率", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getTodayAverageOee(@Validated @RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getTodayAverageStatusStatistics(vo, ProductivityTypeEnum.OEE));
|
}
|
|
@ApiOperationSupport(order = 18)
|
@PostResource({"/oee-month"})
|
@ApiOperation(value = "当月设备平均稼动率", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getCurrMonthOee(@RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getCurrMonthOee(vo));
|
}
|
|
@ApiOperationSupport(order = 19)
|
@PostResource({"/running-month"})
|
@ApiOperation(value = "当月设备平均运行率", notes = "传入visualBaseVO")
|
public R<ChartNameValueDataVO> getCurrMonthRunning(@RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getCurrMonthRunning(vo));
|
}
|
|
@ApiOperationSupport(order = 20)
|
@PostResource({"/alarm-month"})
|
@ApiOperation(value = "月设备报警时长排名", notes = "传入visualBaseVO")
|
public R<ChartSeriesDataVO> getCurrMonthAlarm(@RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getCurrMonthAlarm(vo));
|
}
|
|
@ApiOperationSupport(order = 21)
|
@PostResource({"/alarm-week"})
|
@ApiOperation(value = "周设备报警时长排名", notes = "传入visualBaseVO")
|
public R<ChartSeriesDataVO> getCurrWeekAlarm(@RequestBody VisualBaseVO vo) {
|
return R.data(this.visualStatusService.getCurrWeekAlarm(vo));
|
}
|
}
|