packagecom.jumi.microservice.stock.controller;importcom.jumi.common.log.annotation.Log;importcom.jumi.common.log.enums.BusinessType;importcom.jumi.microservice.common.base.BaseController;importcom.jumi.microservice.common.base.dto.ResponseResult;importcom.jumi.microservice.common.constant.RequestConstant;importcom.jumi.microservice.common.page.TableDataInfo;importcom.jumi.microservice.stock.domain.CommodityRenderVo;importcom.jumi.microservice.stock.dto.StockMaterialStockDTO;importcom.jumi.microservice.stock.dto.commodity.CommodityApplyDTO;importcom.jumi.microservice.stock.service.CommodityApplyService;importcom.jumi.microservice.stock.service.StockService;importio.swagger.annotations.Api;importio.swagger.annotations.ApiImplicitParam;importio.swagger.annotations.ApiImplicitParams;importio.swagger.annotations.ApiOperation;import org.springframework.web.bind.annotation.*;importjavax.annotation.Resource;importjava.util.Arrays;importjava.util.List;/***@authorssk
* @create 2020/9/1 9:54
**/@RestController
@RequestMapping("/stock/commodity")
@Api(tags= {"【仓库管理】商城商品仓库分配"})//@DubboService
public class StockCommodityController extendsBaseController {
@ResourceprivateCommodityApplyService applyService;
@ResourceprivateStockService stockService;
@PostMapping("/addCommodityApply")
@Log(title= "添加分仓申请", businessType =BusinessType.INSERT)publicResponseResult addCommodityApply(@RequestBody CommodityApplyDTO applyRequest, @RequestHeader(RequestConstant.ADMIN_NAME) String createBy) {
applyRequest.setCreateBy(createBy);int rows =applyService.save(applyRequest);return ResponseResult.success("操作成功!", rows);
}
@GetMapping("/findByPage")
@ApiOperation("分页查询分仓申请列表")public TableDataInfofindByPage(CommodityApplyDTO applyRequest) {
startPage();
List list =applyService.findByPage(applyRequest);returngetDataTable(list);
}
@GetMapping("/findById")
@ApiOperation("根据仓库id查询分仓申请详情")
@ApiImplicitParams({
@ApiImplicitParam(name= "id", value = "仓库分仓申请ID"),
@ApiImplicitParam(name= "type", value = "分仓类型;0=一般分仓,1=补货分仓")
})public ResponseResultfindById(Long id, Integer type) {
CommodityApplyDTO applyResponse=applyService.findById(id, type);returnResponseResult.success(applyResponse);
}
@GetMapping("/findFreeStock")
@ApiOperation("根据仓库id 物料id集合获取物料可用库存")publicResponseResult findFreeStock(Long warehouseId, Long[] materialIds) {
List materialIdList =Arrays.asList(materialIds);
List list =stockService.getMaterialStock(materialIdList, warehouseId);returnResponseResult.success(list);
}
@PostMapping("/renderStock")
@ApiOperation("分配库存")
@Log(title= "供应链管理-仓库管理-仓库分仓", businessType =BusinessType.INSERT)publicResponseResult renderStock(@RequestBody CommodityRenderVo renderVo, @RequestHeader(RequestConstant.ADMIN_NAME) String createBy) {int rows =applyService.render(renderVo, createBy);return ResponseResult.success("操作成功!", rows);
}
}