package com.ruoyi.stock.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
|
import com.ruoyi.common.utils.poi.ExcelUtil;
|
import com.ruoyi.compensationperformance.pojo.CompensationPerformance;
|
import com.ruoyi.framework.aspectj.lang.annotation.Log;
|
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
|
import com.ruoyi.framework.web.domain.R;
|
import com.ruoyi.stock.dto.StockInventoryDto;
|
import com.ruoyi.stock.execl.StockInventoryExportData;
|
import com.ruoyi.stock.service.StockInventoryService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 库存表 前端控制器
|
* </p>
|
*
|
* @author 芯导软件(江苏)有限公司
|
* @since 2026-01-21 04:16:36
|
*/
|
@RestController
|
@RequestMapping("/stockInventory")
|
@Api(tags = "库存表")
|
public class StockInventoryController {
|
|
@Autowired
|
private StockInventoryService stockInventoryService;
|
|
@GetMapping("/pagestockInventory")
|
@ApiOperation("分页查询库存")
|
public R pagestockInventory(Page page, StockInventoryDto stockInventoryDto) {
|
IPage<StockInventoryDto> stockInventoryDtoIPage = stockInventoryService.pagestockInventory(page, stockInventoryDto);
|
return R.ok(stockInventoryDtoIPage);
|
}
|
|
@PostMapping("/addstockInventory")
|
@ApiOperation("新增库存")
|
public R addstockInventory(@RequestBody StockInventoryDto stockInventoryDto) {
|
stockInventoryDto.setRecordType(String.valueOf(StockQualifiedRecordTypeEnum.CUSTOMIZATION_STOCK_IN.getCode()));
|
stockInventoryDto.setRecordId(0L);
|
return R.ok(stockInventoryService.addstockInventory(stockInventoryDto));
|
}
|
|
|
@PostMapping("/subtractStockInventory")
|
@ApiOperation("扣减库存")
|
public R subtractStockInventory(@RequestBody StockInventoryDto stockInventoryDto) {
|
stockInventoryDto.setRecordType(String.valueOf(StockQualifiedRecordTypeEnum.CUSTOMIZATION_STOCK_OUT.getCode()));
|
stockInventoryDto.setRecordId(0L);
|
return R.ok(stockInventoryService.subtractStockInventory(stockInventoryDto));
|
}
|
|
|
@PostMapping("importStockInventory")
|
@ApiOperation("导入库存")
|
public R importStockInventory(MultipartFile file) {
|
return stockInventoryService.importStockInventory(file);
|
}
|
|
@Log(title = "下载库存导入模板", businessType = BusinessType.EXPORT)
|
@PostMapping("/downloadStockInventory")
|
public void downloadStockInventory(HttpServletResponse response) {
|
List<StockInventoryExportData> list = new ArrayList<>();
|
ExcelUtil<StockInventoryExportData> util = new ExcelUtil<>(StockInventoryExportData.class);
|
util.exportExcel(response, list, "库存模板");
|
}
|
|
@PostMapping("/exportStockInventory")
|
@ApiOperation("导出库存")
|
public void exportStockInventory(HttpServletResponse response, StockInventoryDto stockInventoryDto) {
|
stockInventoryService.exportStockInventory(response, stockInventoryDto);
|
}
|
|
@GetMapping("stockInventoryPage")
|
@ApiOperation("库存报表查询")
|
public R stockInventoryPage(Page page, StockInventoryDto stockInventoryDto) {
|
return R.ok(stockInventoryService.stockInventoryPage(stockInventoryDto,page));
|
}
|
|
@GetMapping("stockInAndOutRecord")
|
@ApiOperation("统计各个产品的入库和出库记录")
|
public R stockInAndOutRecord(StockInventoryDto stockInventoryDto,Page page) {
|
return R.ok(stockInventoryService.stockInAndOutRecord(stockInventoryDto,page));
|
}
|
}
|