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 |   96 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 85 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
index 6b755bc..97fb2df 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionProductMainController.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.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.production.bean.dto.ProductionProductMainDto;
+import com.ruoyi.production.service.ProductionProductMainService;
+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.*;
 
-/**
- * <p>
- * 鐢熶骇鎶ュ伐琛� 鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-04-21 03:55:52
- */
-@RestController
+import java.util.List;
+
 @RequestMapping("/productionProductMain")
+@RestController
+@Tag(name = "鐢熶骇鎶ュ伐")
+@AllArgsConstructor
 public class ProductionProductMainController {
 
+    private ProductionProductMainService productionProductMainService;
+
+    /**
+     * 鎶ュ伐鏌ヨ
+     * @param page
+     * @param productionProductMainDto
+     * @return
+     */
+    @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));
+    }
+
+    /**
+     * 鎶ュ伐鏂板鏇存柊
+     * @param productionProductMainDto
+     * @return
+     */
+    @PostMapping("/addProductMain")
+    public R addProductMain(@RequestBody ProductionProductMainDto productionProductMainDto) {
+        return R.ok(productionProductMainService.addProductMain(productionProductMainDto));
+    }
+
+    @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