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.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutUnQualifiedRecordTypeEnum;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.dto.StockUninventoryDto;
import com.ruoyi.stock.service.StockUninventoryService;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
*
* 不合格库存表 前端控制器
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-01-22 10:17:45
*/
@RestController
@RequestMapping("/stockUninventory")
@AllArgsConstructor
public class StockUninventoryController {
private StockUninventoryService stockUninventoryService;
@GetMapping("/pagestockUninventory")
@Operation(summary = "分页查询库存")
public R pagestockUninventory(Page page, StockUninventoryDto stockUninventoryDto) {
IPage stockUninventoryDtoIPage = stockUninventoryService.pageStockUninventory(page, stockUninventoryDto);
return R.ok(stockUninventoryDtoIPage);
}
@PostMapping("/addstockUninventory")
@Operation(summary = "新增库存")
public R addstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) {
stockUninventoryDto.setRecordType(String.valueOf(StockInUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_IN.getCode()));
stockUninventoryDto.setRecordId(0L);
return R.ok(stockUninventoryService.addStockUninventory(stockUninventoryDto));
}
@PostMapping("/subtractstockUninventory")
@Operation(summary = "扣减库存")
public R subtractstockUninventory(@RequestBody StockUninventoryDto stockUninventoryDto) {
stockUninventoryDto.setRecordType(String.valueOf(StockOutUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode()));
stockUninventoryDto.setRecordId(0L);
return R.ok(stockUninventoryService.subtractStockUninventory(stockUninventoryDto));
}
@PostMapping("/addStockInRecordOnly")
@Operation(summary = "新增入库记录(仅创建记录,不调整库存)")
public R addStockInRecordOnly(@RequestBody StockUninventoryDto stockUninventoryDto) {
stockUninventoryDto.setRecordType(String.valueOf(StockInUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_IN.getCode()));
stockUninventoryDto.setRecordId(0L);
return R.ok(stockUninventoryService.addStockInRecordOnly(stockUninventoryDto));
}
@PostMapping("/addStockOutRecordOnly")
@Operation(summary = "新增出库记录(仅创建记录,不调整库存)")
public R addStockOutRecordOnly(@RequestBody StockUninventoryDto stockUninventoryDto) {
stockUninventoryDto.setRecordType(String.valueOf(StockOutUnQualifiedRecordTypeEnum.CUSTOMIZATION_UNSTOCK_OUT.getCode()));
stockUninventoryDto.setRecordId(0L);
return R.ok(stockUninventoryService.addStockOutRecordOnly(stockUninventoryDto));
}
@PostMapping("/exportStockUninventory")
@Operation(summary = "导出库存")
public void exportStockUninventory(HttpServletResponse response, StockUninventoryDto stockUninventoryDto) {
stockUninventoryService.exportStockUninventory(response,stockUninventoryDto);
}
@PostMapping("/frozenStock")
@Operation(summary = "冻结库存")
public R frozenStock(@RequestBody StockInventoryDto stockInventoryDto) {
return R.ok(stockUninventoryService.frozenStock(stockInventoryDto));
}
@PostMapping("/thawStock")
@Operation(summary = "解冻库存")
public R thawStock(@RequestBody StockInventoryDto stockInventoryDto) {
return R.ok(stockUninventoryService.thawStock(stockInventoryDto));
}
}