package com.qianwen.smartman.modules.cps.controller; import java.util.List; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.qianwen.core.mp.support.Query; import com.qianwen.core.oss.model.BladeFile; 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.tenant.annotation.NonDS; import com.qianwen.core.tool.api.R; import com.qianwen.core.tool.utils.Func; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.constant.CommonConstant; import com.qianwen.smartman.modules.cps.convert.MachineConvert; import com.qianwen.smartman.modules.cps.entity.Machine; import com.qianwen.smartman.modules.cps.service.IMachineService; import com.qianwen.smartman.modules.cps.vo.IdsVO; import com.qianwen.smartman.modules.cps.vo.MachineDetailVO; import com.qianwen.smartman.modules.cps.vo.MachineListVO; import com.qianwen.smartman.modules.cps.vo.MachineSelectVO; import com.qianwen.smartman.modules.cps.vo.MachineSubmitVO; import com.qianwen.smartman.modules.cps.vo.MachineUpdateVO; import com.qianwen.smartman.modules.cps.vo.MachineVO; import com.qianwen.smartman.modules.resource.enums.TemplateEnum; import com.qianwen.smartman.modules.resource.service.ISystemResourceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @Api(value = "机器管理", tags = {"机器管理"}) @RestController @ApiResource({"smis/machine"}) @NonDS public class MachineController { private final IMachineService machineService; private final ISystemResourceService systemResourceService; public MachineController(IMachineService machineService, ISystemResourceService systemResourceService) { this.machineService = machineService; this.systemResourceService = systemResourceService; } @ApiOperationSupport(order = 1) @GetResource({"/list"}) @ApiOperation("查询机器集合") @PreAuth public R> list() { return R.data(MachineConvert.INSTANCE.convert(this.machineService.list(Wrappers.lambdaQuery().eq(Machine::getStatus, CommonConstant.ENABLE)))); /* return R.data(MachineConvert.INSTANCE.convert(this.machineService.list((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { return v0.getStatus(); }, CommonConstant.ENABLE))));*/ } @ApiOperationSupport(order = 2) @PutResource({"/updateBrand"}) @ApiOperation("编辑机器品牌") public R updateBrand(@RequestParam("id") Long id, @RequestParam("brand") String brand) { return R.data(this.machineService.updateBrand(id, brand)); } @ApiOperationSupport(order = 3) @PostResource @ApiOperation("新增机器") public R createMachine(@Validated @RequestBody MachineSubmitVO machineSubmitVO) { return R.data(this.machineService.createMachine(machineSubmitVO)); } @ApiOperationSupport(order = 4) @PostResource({"/page"}) @ApiOperation("分页查询机器") public R> pageMachine(@RequestBody MachineSelectVO machineSelectVO, Query query) { return R.data(this.machineService.pageMachine(machineSelectVO, query)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @ApiOperation("详情") @GetResource({"/detail/{id}"}) @PreAuth public R detail(@PathVariable("id") String id) { return R.data(this.machineService.detailMachine(Long.valueOf(Func.toLong(id)))); } @ApiOperationSupport(order = 6) @PutResource @ApiOperation("修改机器") @PreAuth public R updateMachine(@Validated @RequestBody MachineUpdateVO vo) { return R.data(this.machineService.updateMachine(vo)); } @ApiOperationSupport(order = 7) @ApiOperation("删除") @PreAuth @DeleteResource public R remove(@RequestBody IdsVO vo, @RequestParam("type") @ApiParam("删除传0 停用传1") Integer type) { return R.data(this.machineService.delete(vo, type)); } @ApiOperationSupport(order = 8) @PostResource({"/excel/export"}) @ApiOperation("导出机器") @PreAuth public R exportMachine(@RequestBody MachineSelectVO vo) { return R.data(this.machineService.exportMachine(vo)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @GetResource({"/excel/template"}) @ApiOperation("导出机器模板") @PreAuth public R exportTemplateCheckProject() { return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.MACHINE)); } @ApiOperationSupport(order = 6) @PostResource({"/excel/import"}) @ApiOperation("导入机器") @PreAuth public R importMachine(@RequestParam MultipartFile file) { return R.data(this.machineService.importMachine(file)); } @ApiOperationSupport(order = 11) @ApiOperation("根据编号查机器详情") @GetResource({"/detail-by-code"}) public R detailByCode(@RequestParam("machineCode") @ApiParam("机器编码") String machineCode) { return R.data(this.machineService.detailByCode(machineCode)); } @ApiOperationSupport(order = 12) @PostResource({"/page-by-param"}) @ApiOperation("分页查询机器") public R> pageMachineByParam(@RequestBody MachineSelectVO machineSelectVO, Query query) { return R.data(this.machineService.pageMachineByParam(machineSelectVO, query)); } @ApiOperationSupport(order = 13) @GetResource({"/list-no-band"}) @ApiOperation("查询未绑定的机器") @PreAuth public R> listNoBand() { return R.data(this.machineService.listNoBand()); } }