package com.ruoyi.production.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.framework.web.domain.R; import com.ruoyi.production.bean.dto.ProductionOrderDto; import com.ruoyi.production.bean.vo.ProductionOrderVo; import com.ruoyi.production.pojo.ProductionOrder; import com.ruoyi.production.service.ProductionOrderService; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController @RequestMapping("/productionOrder") @Tag(name = "生产订单") @RequiredArgsConstructor public class ProductionOrderController { private final ProductionOrderService productionOrderService; @GetMapping("/page") @Operation(summary = "分页查询") public R page(ProductionOrderDto dto, Page page) { return R.ok(productionOrderService.pageProductionOrder(page, dto)); } @GetMapping("/list") @Operation(summary = "生产订单列表") public R> list(ProductionOrderDto dto) { return R.ok(productionOrderService.listProductionOrder(dto)); } @GetMapping("/{id}") @Operation(summary = "生产订单详情") public R getInfo(@PathVariable("id") Long id) { return R.ok(productionOrderService.getProductionOrderInfo(id)); } @PostMapping @Operation(summary = "新增生产订单") public R add(@RequestBody ProductionOrder productionOrder) { return R.ok(productionOrderService.saveProductionOrder(productionOrder)); } @PutMapping @Operation(summary = "修改生产订单") public R edit(@RequestBody ProductionOrder productionOrder) { return R.ok(productionOrderService.saveProductionOrder(productionOrder)); } @PostMapping("/syncSnapshot/{id}") @Operation(summary = "同步生产订单工艺/BOM快照") public R syncSnapshot(@PathVariable("id") Long id) { return R.ok(productionOrderService.syncProductionOrderSnapshot(id)); } @DeleteMapping("/delete") @Operation(summary = "删除生产订单") public R remove(@RequestBody List ids) { return R.ok(productionOrderService.removeProductionOrder(ids)); } }