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/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