From 422a5676c2d96dd37c1be62935a314d70fef79b5 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 15 七月 2026 15:28:04 +0800
Subject: [PATCH] 修改不合格管理

---
 src/main/java/com/ruoyi/production/controller/ProductionAccountController.java |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
index f1695c8..d3ec36f 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
@@ -3,13 +3,17 @@
 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.bean.vo.ProductionAccountVo;
 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;
@@ -30,26 +34,64 @@
     private final ProductionAccountService productionAccountService;
 
     @GetMapping("/listPage")
+    @Log(title = "鐢熶骇鏍哥畻-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
     @Operation(summary = "鐢熶骇鏍哥畻鍒嗛〉鏌ヨ")
-    public R<IPage<ProductionAccountVo>> listPage(Page<ProductionAccountDto> page, ProductionAccountDto dto) {
+    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.setOriginalWages(item.getOriginalWages());
+                            exportDto.setAdjustAmount(item.getAdjustAmount());
+                            exportDto.setWages(item.getWages());
+                            return exportDto;
+                        })
+                        .toList(),
+                "鐢熶骇宸ヨ祫鏉�");
+    }
 }

--
Gitblit v1.9.3