From 2e183f8b71d7170b12346b8c231811c828819fda Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 30 四月 2026 15:48:38 +0800
Subject: [PATCH] Merge branch 'dev_New_pro' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New_pro

---
 src/main/java/com/ruoyi/production/controller/ProductionOrderController.java |   94 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 84 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..45a2805 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -1,18 +1,92 @@
 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.ProductionOrderPickVo;
+import com.ruoyi.production.bean.vo.ProductionOrderVo;
+import com.ruoyi.production.bean.vo.ProductionPlanVo;
+import com.ruoyi.production.bean.vo.ProductionOrderWorkOrderDetailVo;
+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锛岀郴缁熻嚜鍔ㄦ眹鎬昏鍒掑緱鍒颁骇鍝佽鏍煎拰鏁伴噺锛�"
+                    + "technologyRoutingId 涓虹┖鏃朵細鑷姩鍖归厤璇ヤ骇鍝佽鏍兼渶鏂板伐鑹鸿矾绾匡紝quantity 鏈�缁堝繀椤诲ぇ浜� 0銆�")
+    @io.swagger.v3.oas.annotations.parameters.RequestBody(required = true, description = "鍓嶇鍙嬪ソ鎻愮ず锛氬鏋滄槸鐢熶骇璁″垝鐢熸垚锛岃浼� productionPlanIds锛�"
+                    , content = @Content(schema = @Schema(implementation = ProductionOrder.class)))
+    public R<Boolean> add(@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));
+    }
+
+    @GetMapping("/source/{id}")
+    @Operation(summary = "鐢熶骇璁㈠崟鏌ヨ鏉ユ簮")
+    public R<List<ProductionPlanVo>> getSource(@PathVariable Long id) {
+        return R.ok(productionOrderService.getSource(id));
+    }
+
+    @GetMapping("/pick/{productionOrderId}")
+    @Operation(summary = "鏍规嵁璁㈠崟id鏌ヨbom棰嗘枡鍗�")
+    public R<List<ProductionOrderPickVo>> pick(@PathVariable Long productionOrderId) {
+        return R.ok(productionOrderService.pick(productionOrderId));
+    }
+
+    @GetMapping("/workOrder/detail/{productionOrderId}")
+    @Operation(summary = "Query work orders/reports/inspects by production order id")
+    public R<ProductionOrderWorkOrderDetailVo> getWorkOrderReportInspectDetail(@PathVariable Long productionOrderId) {
+        return R.ok(productionOrderService.getWorkOrderReportInspectDetail(productionOrderId));
+    }
 }

--
Gitblit v1.9.3