From 85016ed2734e91e4c8ea03623cde11c29964ba5a Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期六, 25 四月 2026 14:00:22 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/production/controller/ProductionOrderController.java |   80 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 70 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
index 00dcabe..b875fd4 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -1,18 +1,78 @@
 package com.ruoyi.production.controller;
 
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+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.Operation;
+import io.swagger.v3.oas.annotations.media.Content;
+import io.swagger.v3.oas.annotations.media.Schema;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
 
-/**
- * <p>
- * 鐢熶骇璁㈠崟琛� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-04-21 03:55:52
- */
+import java.util.List;
+
 @RestController
 @RequestMapping("/productionOrder")
+@Tag(name = "鐢熶骇璁㈠崟")
+@RequiredArgsConstructor
 public class ProductionOrderController {
 
+    private final ProductionOrderService productionOrderService;
+
+    @GetMapping("/page")
+    @Operation(summary = "鍒嗛〉鏌ヨ")
+    public R<IPage<ProductionOrderVo>> page(ProductionOrderDto dto, Page<ProductionOrderDto> page) {
+        return R.ok(productionOrderService.pageProductionOrder(page, dto));
+    }
+
+    @GetMapping("/list")
+    @Operation(summary = "鐢熶骇璁㈠崟鍒楄〃")
+    public R<List<ProductionOrderVo>> list(ProductionOrderDto dto) {
+        return R.ok(productionOrderService.listProductionOrder(dto));
+    }
+
+    @GetMapping("/{id}")
+    @Operation(summary = "鐢熶骇璁㈠崟璇︽儏")
+    public R<ProductionOrderVo> getInfo(@PathVariable Long id) {
+        return R.ok(productionOrderService.getProductionOrderInfo(id));
+    }
+
+    @PostMapping("/addOrder")
+    @Operation(summary = "鏂板鐢熶骇璁㈠崟", description = "鏂板涓嬪崟鍙敮鎸佷袱绉嶆柟寮忥細1. 鐢熶骇璁″垝鐢熸垚锛屼紶 productionPlanIds锛岀郴缁熻嚜鍔ㄦ眹鎬昏鍒掑緱鍒颁骇鍝佽鏍煎拰鏁伴噺锛�"
+                    + "2. 鎵嬪姩鏂板锛屽繀椤讳紶 productModelId 鍜� quantity銆�"
+                    + "technologyRoutingId 涓虹┖鏃朵細鑷姩鍖归厤璇ヤ骇鍝佽鏍兼渶鏂板伐鑹鸿矾绾匡紝quantity 鏈�缁堝繀椤诲ぇ浜� 0銆�")
+    @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, description = "鍓嶇鍙嬪ソ鎻愮ず锛氬鏋滄槸鐢熶骇璁″垝鐢熸垚锛岃浼� productionPlanIds锛�"
+                    + "濡傛灉鏄墜鍔ㄦ柊澧烇紝璇疯嚦灏戝~鍐� productModelId銆乹uantity锛屼笖 quantity 蹇呴』澶т簬 0銆�", content = @Content(schema = @Schema(implementation = ProductionOrder.class)))
+    public R<Boolean> add(@RequestBody ProductionOrder productionOrder) {
+        return R.ok(productionOrderService.saveProductionOrder(productionOrder));
+    }
+
+    @PutMapping("/editOrder")
+    @Operation(summary = "淇敼鐢熶骇璁㈠崟")
+    public R<Boolean> edit(@RequestBody ProductionOrder productionOrder) {
+        return R.ok(productionOrderService.saveProductionOrder(productionOrder));
+    }
+
+    @Operation(summary = "缁戝畾宸ヨ壓璺嚎")
+    @PostMapping("/bindingRoute")
+    public R bindingRoute(@RequestBody ProductionOrderDto productionOrderDto) {
+        return R.ok(productionOrderService.bindingRoute(productionOrderDto));
+    }
+
+    @PostMapping("/syncSnapshot/{id}")
+    @Operation(summary = "鍚屾鐢熶骇璁㈠崟宸ヨ壓/BOM蹇収")
+    public R<Integer> syncSnapshot(@PathVariable Long id) {
+        return R.ok(productionOrderService.syncProductionOrderSnapshot(id));
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "鍒犻櫎鐢熶骇璁㈠崟")
+    public R<Boolean> remove(@RequestBody List<Long> ids) {
+        return R.ok(productionOrderService.removeProductionOrder(ids));
+    }
 }

--
Gitblit v1.9.3