package com.qianwen.smartman.modules.cps.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import javax.validation.Valid; import com.qianwen.smartman.common.enums.DynamicCalculationWcsDataType; import com.qianwen.core.boot.ctrl.BladeController; import com.qianwen.core.scanner.modular.annotation.DeleteResource; import com.qianwen.core.scanner.modular.annotation.GetResource; import com.qianwen.core.scanner.modular.annotation.PostResource; import com.qianwen.core.scanner.modular.annotation.PutResource; 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.core.tool.utils.Func; import com.qianwen.smartman.modules.cps.service.IWorkstationWcsUsageService; import com.qianwen.smartman.modules.cps.vo.WorkstationDataTypeExecParamVO; import com.qianwen.smartman.modules.cps.vo.WorkstationWcsUsageVO; import com.qianwen.smartman.modules.system.vo.ChartSelect; import com.qianwen.smartman.modules.visual.vo.VisualUsagePolicyEnum; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @Api(value = "获取数据数据标签", tags = {"获取数据数据标签"}) @RestController @ApiResource({"smis/workstation-wcs-usage"}) @Validated public class WorkstationWcsUsageController extends BladeController { private final IWorkstationWcsUsageService workstationWcsUsageService; public WorkstationWcsUsageController(final IWorkstationWcsUsageService workstationWcsUsageService) { this.workstationWcsUsageService = workstationWcsUsageService; } @PreAuth @GetResource({"/list"}) @ApiOperation("获取所有数据数据标签数据") public R> list() { return R.data(this.workstationWcsUsageService.listVO()); } @PreAuth @PutResource @ApiOperation(value = "保存数据标签", notes = "插入数据数据标签,数据数据标签的名称不能重复") public R save(@Valid @RequestBody WorkstationWcsUsageVO workstationWcsVO) { return R.data(this.workstationWcsUsageService.save(workstationWcsVO)); } @PreAuth @PostResource @ApiOperation("更新数据标签") public R update(@Valid @RequestBody WorkstationWcsUsageVO workstationWcsVO) { return R.data(this.workstationWcsUsageService.update(workstationWcsVO)); } @PreAuth @DeleteResource @ApiOperation("删除数据标签") public R remove(@RequestBody String id) { return R.data(this.workstationWcsUsageService.remove(Long.valueOf(Func.toLong(id)))); } @PreAuth @GetResource({"/params-config/{collectType}"}) @ApiOperation("获取计算方式的参数配置") public R> paramsConfig(@PathVariable Integer collectType) { return R.data(DynamicCalculationWcsDataType.getParamsByCode(collectType.intValue())); } @GetMapping({"/visual-usage-code"}) @ApiOperation(value = "获取大屏接口参数", notes = "数据数据标签下拉") public R> visualUsageCode() { List chartSelects = (List) this.workstationWcsUsageService.listVO().stream().filter(it -> { return DynamicCalculationWcsDataType.of(it.getCollectType().intValue()) != null; }).map(it2 -> { return new ChartSelect() { // from class: org.springblade.modules.cps.controller.WorkstationWcsUsageController.1 @Override // org.springblade.modules.system.vo.ChartSelect public String getLabel() { return it2.getUsageName(); } @Override // org.springblade.modules.system.vo.ChartSelect public String getValue() { return Func.toStr(it2.getUsageCode()); } }; }).collect(Collectors.toList()); return R.data(chartSelects); } @GetMapping({"/visual-usage-policy"}) @ApiOperation(value = "获取大屏接口参数", notes = "数据标签策略下拉") public R> visualUsagePolicy() { List chartSelects = (List) Arrays.stream(VisualUsagePolicyEnum.values()).map(it -> { return new ChartSelect() { // from class: org.springblade.modules.cps.controller.WorkstationWcsUsageController.2 @Override // org.springblade.modules.system.vo.ChartSelect public String getLabel() { return it.getLabel(); } @Override // org.springblade.modules.system.vo.ChartSelect public String getValue() { return it.name(); } }; }).collect(Collectors.toList()); return R.data(chartSelects); } }