From 53c0da6e44a01acf9d97bdc7abaf25e5984b92dc Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 13 七月 2026 14:39:57 +0800
Subject: [PATCH] 修改生产核算

---
 src/main/java/com/ruoyi/production/controller/ProductionAccountController.java |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 80 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
index 9c34f2a..b401446 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
@@ -1,18 +1,95 @@
 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.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.production.bean.dto.ProductionAccountDetailExportDto;
+import com.ruoyi.production.bean.dto.ProductionAccountDto;
+import com.ruoyi.production.bean.dto.ProductionProductMainDto;
+import com.ruoyi.production.service.ProductionAccountService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import jakarta.servlet.http.HttpServletResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
  * 鐢熶骇鏍哥畻琛� 鍓嶇鎺у埗鍣�
  * </p>
- *
- * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
- * @since 2026-04-21 03:55:52
  */
 @RestController
 @RequestMapping("/productionAccount")
+@RequiredArgsConstructor
+@Tag(name = "鐢熶骇鏍哥畻")
 public class ProductionAccountController {
 
+    private final ProductionAccountService productionAccountService;
+
+    @GetMapping("/listPage")
+    @Log(title = "鐢熶骇鏍哥畻-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
+    @Operation(summary = "鐢熶骇鏍哥畻鍒嗛〉鏌ヨ")
+    public R<IPage<com.ruoyi.production.bean.vo.ProductionAccountVo>> listPage(Page<ProductionAccountDto> page, ProductionAccountDto dto) {
+        return R.ok(productionAccountService.listPage(page, dto));
+    }
+
+    @GetMapping("/listProductionDetails")
+    @Log(title = "鐢熶骇鏍哥畻-宸ヨ祫鏄庣粏鏌ヨ", businessType = BusinessType.OTHER)
+    @Operation(summary ="鏌ヨ宸ヤ汉鐢熶骇宸ヨ祫淇℃伅")
+    public R<IPage<ProductionProductMainDto>> listProductionDetails(ProductionAccountDto productionAccountDto, Page page) {
+        return R.ok(productionAccountService.listProductionDetails(productionAccountDto,page));
+    }
+
+    @PostMapping("/batchAccounting")
+    @Log(title = "鐢熶骇鏍哥畻-鎵归噺鏍哥畻", businessType = BusinessType.UPDATE)
+    @Operation(summary = "鎵归噺鏍哥畻")
+    public R<Boolean> batchAccounting(@RequestBody ProductionAccountDto dto) {
+        return R.ok(productionAccountService.batchAccounting(dto));
+    }
+
+    @PostMapping("/singleAdjust")
+    @Log(title = "鐢熶骇鏍哥畻-鍗曚釜淇", businessType = BusinessType.UPDATE)
+    @Operation(summary = "鍗曚釜淇")
+    public R<Boolean> singleAdjust(@RequestBody ProductionAccountDto dto) {
+        return R.ok(productionAccountService.singleAdjust(dto));
+    }
+
+    @PostMapping("/exportSalarySlip")
+    @Log(title = "鐢熶骇鏍哥畻-瀵煎嚭宸ヨ祫鏉�", businessType = BusinessType.EXPORT)
+    @Operation(summary = "瀵煎嚭宸ヨ祫鏉�")
+    public void exportSalarySlip(HttpServletResponse response, ProductionAccountDto dto) {
+        ExcelUtil<ProductionAccountDetailExportDto> util = new ExcelUtil<>(ProductionAccountDetailExportDto.class);
+        util.exportExcel(response,
+                productionAccountService.listProductionDetails(dto, new Page<>(1, Integer.MAX_VALUE))
+                        .getRecords()
+                        .stream()
+                        .map(item -> {
+                            ProductionAccountDetailExportDto exportDto = new ProductionAccountDetailExportDto();
+                            exportDto.setReportNo(item.getReportNo());
+                            exportDto.setSchedulingDate(item.getSchedulingDate());
+                            exportDto.setSchedulingUserName(item.getSchedulingUserName());
+                            exportDto.setAuditStatusName(item.getAuditStatusName());
+                            exportDto.setReportTypeName(item.getReportTypeName());
+                            exportDto.setSalesContractNo(item.getSalesContractNo());
+                            exportDto.setProductName(item.getProductName());
+                            exportDto.setProductModelName(item.getProductModelName());
+                            exportDto.setUnit(item.getUnit());
+                            exportDto.setProcess(item.getProcess());
+                            exportDto.setWorkOrderNo(item.getWorkOrderNo());
+                            exportDto.setWorkHour(item.getWorkHour());
+                            exportDto.setQuantity(item.getQuantity());
+                            exportDto.setWorkHours(item.getWorkHours());
+                            exportDto.setWages(item.getWages());
+                            return exportDto;
+                        })
+                        .toList(),
+                "鐢熶骇宸ヨ祫鏉�");
+    }
 }

--
Gitblit v1.9.3