From 0989ec1e6b465141f99ed67e40fa2a0b928dce94 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 29 四月 2026 16:54:51 +0800
Subject: [PATCH] feat(production): 新增生产核算和生产工单功能模块 - 添加生产核算控制器、服务接口及实现类 - 实现生产核算分页查询和工人生产工资信息查询功能 - 添加生产工单控制器、服务接口及实现类 - 实现生产工单的增删改查和状态统计功能 - 集成工单流转卡下载和二维码生成功能 - 添加工单相关的数据传输对象和值对象 - 实现工单与用户关联的分配功能 - 完善工单附件图片处理和展示功能

---
 src/main/java/com/ruoyi/production/controller/ProductionOrderController.java |   55 +++++++++++++++++++++++++++----------------------------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
index 5421995..c152736 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -4,22 +4,17 @@
 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.pojo.ProductionOrder;
 import com.ruoyi.production.service.ProductionOrderService;
-import io.swagger.v3.oas.annotations.tags.Tag;
 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;
 
@@ -45,36 +40,28 @@
 
     @GetMapping("/{id}")
     @Operation(summary = "鐢熶骇璁㈠崟璇︽儏")
-    public R<ProductionOrderVo> getInfo(@PathVariable("id") Long id) {
+    public R<ProductionOrderVo> getInfo(@PathVariable Long id) {
         return R.ok(productionOrderService.getProductionOrderInfo(id));
     }
 
-    @PostMapping
-    @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))
-    )
+    @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
-    @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("id") Long id) {
+    public R<Integer> syncSnapshot(@PathVariable Long id) {
         return R.ok(productionOrderService.syncProductionOrderSnapshot(id));
     }
 
@@ -83,4 +70,16 @@
     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));
+    }
 }

--
Gitblit v1.9.3