From fe1b02a121c173e9b2d56bbe5a1982e0e69e0548 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 28 四月 2026 18:06:08 +0800
Subject: [PATCH] feat(production): 新增生产工单管理功能 - 创建 ProductionOperationTask 实体类定义工单数据结构 - 实现 ProductionOperationTaskController 提供工单的增删改查接口 - 开发 ProductionOperationTaskService 和实现类处理业务逻辑 - 配置 ProductionOperationTaskMapper 及 XML 文件实现数据库操作 - 添加 ProductionOperationTaskVo 视图对象用于数据展示 - 扩展 ProductionOrder 实体类增加生产订单相关属性 - 更新 ProductionOrderMapper.xml 完善订单查询映射配置 - 优化 ProductionOrderPickRecordMapper.xml 记录物料领取明细 - 新增 ProductionOrderRoutingOperationParam 参数配置实体 - 完善 工序参数处理逻辑

---
 src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java |   72 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
index e27be8d..97fb2df 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
@@ -1,22 +1,24 @@
 package com.ruoyi.production.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.framework.web.domain.R;
-import com.ruoyi.production.dto.ProductionProductMainDto;
+import com.ruoyi.production.bean.dto.ProductionProductMainDto;
 import com.ruoyi.production.service.ProductionProductMainService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
+import java.util.List;
 
-@RequestMapping("productionProductMain")
+@RequestMapping("/productionProductMain")
 @RestController
-@Api(value = "鐢熶骇鎶ュ伐")
+@Tag(name = "鐢熶骇鎶ュ伐")
+@AllArgsConstructor
 public class ProductionProductMainController {
 
-    @Autowired
     private ProductionProductMainService productionProductMainService;
 
     /**
@@ -25,9 +27,21 @@
      * @param productionProductMainDto
      * @return
      */
-    @GetMapping("listPage")
+    @GetMapping("/listPage")
     public R page(Page<ProductionProductMainDto> page, ProductionProductMainDto productionProductMainDto) {
         return R.ok(productionProductMainService.listPageProductionProductMainDto(page, productionProductMainDto));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "鐢熶骇鎶ュ伐鍒嗛〉鏌ヨ")
+    public R pageProductionProductMain(Page<ProductionProductMainDto> page, ProductionProductMainDto productionProductMainDto) {
+        return R.ok(productionProductMainService.pageProductionProductMain(page, productionProductMainDto));
+    }
+
+    @GetMapping("/{id}")
+    @Operation(summary = "鐢熶骇鎶ュ伐璇︽儏")
+    public R getInfo(@PathVariable("id") Long id) {
+        return R.ok(productionProductMainService.getProductionProductMainInfo(id));
     }
 
     /**
@@ -35,14 +49,44 @@
      * @param productionProductMainDto
      * @return
      */
-    @PostMapping("addProductMain")
+    @PostMapping("/addProductMain")
     public R addProductMain(@RequestBody ProductionProductMainDto productionProductMainDto) {
         return R.ok(productionProductMainService.addProductMain(productionProductMainDto));
     }
 
-    @ApiOperation("鍒犻櫎鎶ュ伐")
-    @DeleteMapping("/{ids}")
-    public R delete(@PathVariable("ids") Long[] ids) {
-        return R.ok(productionProductMainService.removeBatchByIds(Arrays.asList(ids)));
+    @PostMapping
+    @Operation(summary = "鏂板鐢熶骇鎶ュ伐")
+    public R add(@RequestBody ProductionProductMainDto productionProductMainDto) {
+        return R.ok(productionProductMainService.saveProductionProductMain(productionProductMainDto));
+    }
+
+    @PutMapping
+    @Operation(summary = "淇敼鐢熶骇鎶ュ伐")
+    public R edit(@RequestBody ProductionProductMainDto productionProductMainDto) {
+        return R.ok(productionProductMainService.saveProductionProductMain(productionProductMainDto));
+    }
+
+    @Operation(summary = "鍒犻櫎鎶ュ伐")
+    @DeleteMapping("/delete")
+    public R delete(@RequestBody ProductionProductMainDto productionProductMainDto) {
+        return R.ok(productionProductMainService.removeProductMain(productionProductMainDto.getId()));
+    }
+
+    @DeleteMapping("/{id}")
+    @Operation(summary = "鍒犻櫎鐢熶骇鎶ュ伐")
+    public R remove(@PathVariable("id") Long id) {
+        return R.ok(productionProductMainService.removeProductMain(id));
+    }
+
+
+    /**
+     * 瀵煎嚭
+     */
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ProductionProductMainDto productionProductMainDto) {
+        List<ProductionProductMainDto> list;
+        list = productionProductMainService.listPageProductionProductMainDto(new Page<>(1, -1), productionProductMainDto).getRecords();
+        ExcelUtil<ProductionProductMainDto> util = new ExcelUtil<ProductionProductMainDto>(ProductionProductMainDto.class);
+        util.exportExcel(response, list, "鐢熶骇鎶ュ伐鏁版嵁");
     }
 }

--
Gitblit v1.9.3