package com.qianwen.smartman.modules.cps.controller;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import java.lang.invoke.SerializedLambda;
|
import java.util.List;
|
import javax.servlet.http.HttpServletResponse;
|
import javax.validation.Valid;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
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.tool.api.R;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.convert.WarehouseStationConvert;
|
import com.qianwen.smartman.modules.cps.entity.WarehouseGrid;
|
import com.qianwen.smartman.modules.cps.entity.WarehouseStation;
|
import com.qianwen.smartman.modules.cps.service.IWarehouseGridService;
|
import com.qianwen.smartman.modules.cps.service.IWarehouseStationService;
|
import com.qianwen.smartman.modules.cps.vo.WarehouseExportVO;
|
import com.qianwen.smartman.modules.cps.vo.WarehouseStationVO;
|
import com.qianwen.smartman.modules.resource.enums.TemplateEnum;
|
import com.qianwen.smartman.modules.resource.service.impl.SystemResourceServiceImpl;
|
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;
|
|
@Api(value = "库区库位管理", tags = {"库区库位管理"})
|
@ApiResource({"blade-cps/warehouse-station"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/controller/WarehouseStationController.class */
|
public class WarehouseStationController extends BladeController {
|
private final IWarehouseStationService warehouseStationService;
|
private final SystemResourceServiceImpl systemResourceService;
|
private final IWarehouseGridService warehouseGridService;
|
|
|
public WarehouseStationController(final IWarehouseStationService warehouseStationService, final SystemResourceServiceImpl systemResourceService, final IWarehouseGridService warehouseGridService) {
|
this.warehouseStationService = warehouseStationService;
|
this.systemResourceService = systemResourceService;
|
this.warehouseGridService = warehouseGridService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/get/{id}"})
|
@ApiOperation(value = "库区库位详情", notes = "传入库位")
|
@PreAuth
|
public R<WarehouseStationVO> detail(@PathVariable String id) {
|
WarehouseStation warehouseStation = (WarehouseStation) this.warehouseStationService.getById(id);
|
return R.data(WarehouseStationConvert.INSTANCE.convert(warehouseStation));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/page"})
|
@ApiOperation(value = "库区库位分页", notes = "传入map")
|
@PreAuth
|
public R<IPage<WarehouseStationVO>> page(Query query, @RequestParam(value = "keyWord", required = false) String keyWord, @RequestParam("areaId") Long areaId) {
|
IPage<WarehouseStation> pages = this.warehouseStationService.listPage(query, keyWord, areaId);
|
return R.data(WarehouseStationConvert.INSTANCE.convert(pages));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource({"/insert"})
|
@ApiOperation(value = "库区库位新增", notes = "传入warehouseStationVO")
|
@PreAuth
|
public R<WarehouseStationVO> insert(@Valid @RequestBody WarehouseStationVO warehouseStationVO) {
|
return R.data(WarehouseStationConvert.INSTANCE.convert(this.warehouseStationService.insert(warehouseStationVO)));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PutResource({"/update"})
|
@ApiOperation(value = "库区库位修改", notes = "传入warehouseStationVO")
|
@PreAuth
|
public R<WarehouseStationVO> update(@Valid @RequestBody WarehouseStationVO warehouseStationVO) {
|
return R.data(WarehouseStationConvert.INSTANCE.convert(this.warehouseStationService.modifyById(warehouseStationVO)));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@ApiOperation(value = "库区库位批量删除", notes = "传入ids")
|
@PreAuth
|
@DeleteResource({"/remove"})
|
public R removeByIds(@ApiParam(value = "主键", required = true) @RequestBody List<String> ids) {
|
if (CollectionUtil.isEmpty(ids)) {
|
return R.status(Boolean.FALSE.booleanValue());
|
}
|
return R.status(this.warehouseStationService.deleteByIds(Func.toLongList(ids)).booleanValue());
|
}
|
|
@ApiOperationSupport(order = 7)
|
@PostResource({"import-station"})
|
@ApiOperation(value = "导入库位", notes = "传入要导入的库位文件")
|
@PreAuth
|
public R<BladeFile> importStation(MultipartFile multipartFile) {
|
return R.data(this.warehouseStationService.importStation(multipartFile));
|
}
|
|
@ApiOperationSupport(order = 8)
|
@PostResource({"export-station"})
|
@ApiOperation(value = "导出库位", notes = "库位过滤条件")
|
@PreAuth
|
public R<BladeFile> exportStation(@RequestBody WarehouseExportVO warehouseExportVo, HttpServletResponse response) {
|
return R.data(this.warehouseStationService.exportStation(warehouseExportVo, response));
|
}
|
|
@ApiOperationSupport(order = 9)
|
@GetResource({"/export-template"})
|
@ApiOperation("导出模板")
|
@PreAuth
|
public R<BladeFile> exportTemplate() {
|
return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.WAREHOUSE_STATION));
|
}
|
|
@ApiOperationSupport(order = 10)
|
@GetResource({"/grid-count"})
|
@ApiOperation("获取库位下的货格数量")
|
public R<Long> getGridCount(@RequestParam(value = "id", required = true) String id) {
|
return R.data(Long.valueOf(this.warehouseGridService.count(Wrappers.<WarehouseGrid>lambdaQuery().eq(WarehouseGrid::getStationId, id))));
|
/*
|
return R.data(Long.valueOf(this.warehouseGridService.count((Wrapper) Wrappers.lambdaQuery().eq((v0) -> {
|
return v0.getStationId();
|
}, id))));*/
|
}
|
}
|