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<MachineVO>> list() {
|
return R.data(MachineConvert.INSTANCE.convert(this.machineService.list(Wrappers.<Machine>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<Boolean> updateBrand(@RequestParam("id") Long id, @RequestParam("brand") String brand) {
|
return R.data(this.machineService.updateBrand(id, brand));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource
|
@ApiOperation("新增机器")
|
public R<Machine> createMachine(@Validated @RequestBody MachineSubmitVO machineSubmitVO) {
|
return R.data(this.machineService.createMachine(machineSubmitVO));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/page"})
|
@ApiOperation("分页查询机器")
|
public R<IPage<MachineListVO>> 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<MachineDetailVO> detail(@PathVariable("id") String id) {
|
return R.data(this.machineService.detailMachine(Long.valueOf(Func.toLong(id))));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PutResource
|
@ApiOperation("修改机器")
|
@PreAuth
|
public R<Boolean> updateMachine(@Validated @RequestBody MachineUpdateVO vo) {
|
return R.data(this.machineService.updateMachine(vo));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@ApiOperation("删除")
|
@PreAuth
|
@DeleteResource
|
public R<Boolean> 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<BladeFile> exportMachine(@RequestBody MachineSelectVO vo) {
|
return R.data(this.machineService.exportMachine(vo));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@GetResource({"/excel/template"})
|
@ApiOperation("导出机器模板")
|
@PreAuth
|
public R<BladeFile> exportTemplateCheckProject() {
|
return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.MACHINE));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/excel/import"})
|
@ApiOperation("导入机器")
|
@PreAuth
|
public R<BladeFile> importMachine(@RequestParam MultipartFile file) {
|
return R.data(this.machineService.importMachine(file));
|
}
|
|
@ApiOperationSupport(order = 11)
|
@ApiOperation("根据编号查机器详情")
|
@GetResource({"/detail-by-code"})
|
public R<MachineDetailVO> detailByCode(@RequestParam("machineCode") @ApiParam("机器编码") String machineCode) {
|
return R.data(this.machineService.detailByCode(machineCode));
|
}
|
|
@ApiOperationSupport(order = 12)
|
@PostResource({"/page-by-param"})
|
@ApiOperation("分页查询机器")
|
public R<IPage<MachineListVO>> 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<List<MachineVO>> listNoBand() {
|
return R.data(this.machineService.listNoBand());
|
}
|
}
|