package com.qianwen.smartman.modules.cps.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 io.swagger.annotations.ApiParam; import java.util.List; import java.util.Map; import javax.validation.Valid; import com.qianwen.smartman.common.cache.RegionCache; import com.qianwen.smartman.common.constant.CommonConstant; import com.qianwen.smartman.common.enums.StatusType; import com.qianwen.core.boot.ctrl.BladeController; import com.qianwen.core.mp.support.Condition; import com.qianwen.core.mp.support.Query; 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.convert.StockOutTypeConvert; import com.qianwen.smartman.modules.cps.entity.StockOutType; import com.qianwen.smartman.modules.cps.service.IStockOutTypeService; import com.qianwen.smartman.modules.cps.vo.StockOutTypeVO; 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 springfox.documentation.annotations.ApiIgnore; @Api(value = "StockOutType管理", tags = {"StockOutType管理"}) @ApiResource({"blade-cps/stock-out-type"}) @RestController /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/controller/StockOutTypeController.class */ public class StockOutTypeController extends BladeController { private final IStockOutTypeService stockOutTypeService; public StockOutTypeController(final IStockOutTypeService stockOutTypeService) { this.stockOutTypeService = stockOutTypeService; } @ApiOperationSupport(order = 1) @GetResource({"/get/{id}"}) @ApiOperation(value = "出库类型详情", notes = "传入stockOutType") public R detail(@PathVariable String id) { StockOutType stockOutType = (StockOutType) this.stockOutTypeService.getById(id); return R.data(StockOutTypeConvert.INSTANCE.convert(stockOutType)); } @ApiOperationSupport(order = 2) @GetResource({"/list"}) @ApiOperation(value = "出库类型列表", notes = "传入map") public R> list(@RequestParam @ApiIgnore Map params) { List list = this.stockOutTypeService.list(Condition.getQueryWrapper(params, StockOutType.class)); return R.data(StockOutTypeConvert.INSTANCE.convert(list)); } @ApiOperationSupport(order = 3) @GetResource({"/page"}) @ApiOperation(value = "出库类型分页", notes = "传入map") @PreAuth public R> page(Query query, @RequestParam(value = "key", required = false) String key, @RequestParam(value = "status", required = false) Integer status) { return R.data(this.stockOutTypeService.pageStockOutType(query, key, Func.isNull(status) ? CommonConstant.ENABLE : status)); } @ApiOperationSupport(order = 4) @PostResource({"/insert"}) @ApiOperation(value = "出库类型新增", notes = "传入stockOutTypeVO") @PreAuth public R insert(@Valid @RequestBody StockOutTypeVO stockOutTypeVO) { StockOutType stockOutType = this.stockOutTypeService.createStockOutType(stockOutTypeVO); return R.data(StockOutTypeConvert.INSTANCE.convert(stockOutType)); } @ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL) @PutResource({"/update"}) @ApiOperation(value = "出库类型修改", notes = "传入stockOutTypeVO") @PreAuth public R update(@Valid @RequestBody StockOutTypeVO vo) { return R.data(this.stockOutTypeService.updateStockOut(vo)); } @ApiOperationSupport(order = 6) @ApiOperation(value = "出库类型删除", notes = "传入ids") @PreAuth @DeleteResource({"/remove"}) public R remove(@ApiParam(value = "主键", required = true) @RequestBody List ids, @RequestParam("type") @ApiParam("删除传0 停用传1") Integer type) { if (ids.isEmpty()) { return R.data(false); } if (StatusType.REMOVE.getType().equals(type)) { return R.data(Boolean.valueOf(this.stockOutTypeService.removeByIds(Func.toLongList(ids)))); } return R.data(Boolean.valueOf(this.stockOutTypeService.changeStatus(Func.toLongList(ids), CommonConstant.DEACTIVATE))); } }