From 7b7a2cc050d55af2eed2cccb3761a91314c9b9f6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 30 四月 2026 15:07:32 +0800
Subject: [PATCH] feat:1.产品维护,增加产品编号字段 2.入库批号添加 3.是否质检仅添加入库记录(待审核) 4.是否生产报工更改 5.入库做审核

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

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
index 9558c8d..45a2805 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -1,72 +1,92 @@
 package com.ruoyi.production.controller;
 
+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.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+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.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 org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 @RestController
 @RequestMapping("/productionOrder")
-@Api(tags = "鐢熶骇璁㈠崟")
+@Tag(name = "鐢熶骇璁㈠崟")
 @RequiredArgsConstructor
 public class ProductionOrderController {
 
     private final ProductionOrderService productionOrderService;
 
     @GetMapping("/page")
-    @ApiOperation("鍒嗛〉鏌ヨ")
-    public R page(ProductionOrderDto dto, Page<ProductionOrderDto> page) {
+    @Operation(summary = "鍒嗛〉鏌ヨ")
+    public R<IPage<ProductionOrderVo>> page(ProductionOrderDto dto, Page<ProductionOrderDto> page) {
         return R.ok(productionOrderService.pageProductionOrder(page, dto));
     }
 
     @GetMapping("/list")
-    @ApiOperation("鐢熶骇璁㈠崟鍒楄〃")
+    @Operation(summary = "鐢熶骇璁㈠崟鍒楄〃")
     public R<List<ProductionOrderVo>> list(ProductionOrderDto dto) {
         return R.ok(productionOrderService.listProductionOrder(dto));
     }
 
     @GetMapping("/{id}")
-    @ApiOperation("鐢熶骇璁㈠崟璇︽儏")
-    public R<ProductionOrderVo> getInfo(@PathVariable("id") Long id) {
+    @Operation(summary = "鐢熶骇璁㈠崟璇︽儏")
+    public R<ProductionOrderVo> getInfo(@PathVariable Long id) {
         return R.ok(productionOrderService.getProductionOrderInfo(id));
     }
 
-    @PostMapping
-    @ApiOperation("鏂板鐢熶骇璁㈠崟")
+    @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));
     }
 
-    @PutMapping
-    @ApiOperation("淇敼鐢熶骇璁㈠崟")
-    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}")
-    @ApiOperation("鍚屾鐢熶骇璁㈠崟宸ヨ壓/BOM蹇収")
-    public R<Integer> syncSnapshot(@PathVariable("id") Long id) {
+    @Operation(summary = "鍚屾鐢熶骇璁㈠崟宸ヨ壓/BOM蹇収")
+    public R<Integer> syncSnapshot(@PathVariable Long id) {
         return R.ok(productionOrderService.syncProductionOrderSnapshot(id));
     }
 
     @DeleteMapping("/delete")
-    @ApiOperation("鍒犻櫎鐢熶骇璁㈠崟")
+    @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