package cn.iocoder.yudao.module.mes.controller.admin.wm.warning; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.wm.warning.vo.MesWmStockWarningHandleReqVO; import cn.iocoder.yudao.module.mes.controller.admin.wm.warning.vo.MesWmStockWarningPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.wm.warning.vo.MesWmStockWarningRespVO; import cn.iocoder.yudao.module.mes.service.wm.warning.MesWmStockWarningService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import jakarta.validation.Valid; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - MES 库存预警") @RestController @RequestMapping("/mes/wm/stock-warning") @Validated public class MesWmStockWarningController { @Resource private MesWmStockWarningService stockWarningService; @GetMapping("/page") @Operation(summary = "获得库存预警分页(落库记录)") @PreAuthorize("@ss.hasPermission('mes:wm-stock-warning:query')") public CommonResult> getWarningPage( @Valid MesWmStockWarningPageReqVO pageReqVO) { return success(stockWarningService.getWarningPage(pageReqVO)); } @GetMapping("/current") @Operation(summary = "实时计算当前库存预警(不落库)") @PreAuthorize("@ss.hasPermission('mes:wm-stock-warning:query')") public CommonResult> getCurrentWarnings() { return success(stockWarningService.getCurrentWarnings()); } @PostMapping("/refresh") @Operation(summary = "重新计算并落库当前库存预警") @PreAuthorize("@ss.hasPermission('mes:wm-stock-warning:update')") public CommonResult refreshWarnings() { return success(stockWarningService.persistCurrentWarnings()); } @PutMapping("/handle") @Operation(summary = "处理库存预警(标记已处理)") @PreAuthorize("@ss.hasPermission('mes:wm-stock-warning:update')") public CommonResult handleWarning(@Valid @RequestBody MesWmStockWarningHandleReqVO reqVO) { stockWarningService.handle(reqVO); return success(true); } }