From da7562b91f817ec5e28e748ad6e7b41d7b6d9424 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 11 九月 2026 10:11:33 +0800
Subject: [PATCH] feat: 生产核算导出接口
---
src/main/java/com/ruoyi/production/service/impl/ProductionAccountServiceImpl.java | 22 ++++++++++++++++++++++
src/main/java/com/ruoyi/production/service/ProductionAccountService.java | 3 +++
src/main/java/com/ruoyi/production/controller/ProductionAccountController.java | 8 ++++++++
3 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
index d87996f..f8fa97c 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionAccountController.java
@@ -9,8 +9,10 @@
import com.ruoyi.production.service.ProductionAccountService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -38,4 +40,10 @@
public R<IPage<ProductionProductMainDto>> listProductionDetails(ProductionAccountDto productionAccountDto, Page page) {
return R.ok(productionAccountService.listProductionDetails(productionAccountDto,page));
}
+
+ @PostMapping("/export")
+ @Operation(summary = "瀵煎嚭鐢熶骇鏍哥畻鏄庣粏")
+ public void export(HttpServletResponse response, ProductionAccountDto dto) {
+ productionAccountService.exportDetails(response, dto);
+ }
}
diff --git a/src/main/java/com/ruoyi/production/service/ProductionAccountService.java b/src/main/java/com/ruoyi/production/service/ProductionAccountService.java
index a02c3a4..6b0a170 100644
--- a/src/main/java/com/ruoyi/production/service/ProductionAccountService.java
+++ b/src/main/java/com/ruoyi/production/service/ProductionAccountService.java
@@ -7,6 +7,7 @@
import com.ruoyi.production.bean.vo.ProductionAccountVo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.production.pojo.ProductionAccount;
+import jakarta.servlet.http.HttpServletResponse;
/**
* <p>
@@ -20,4 +21,6 @@
IPage<ProductionAccountVo> listPage(Page<ProductionAccountDto> page, ProductionAccountDto dto);
IPage<ProductionProductMainDto> listProductionDetails(ProductionAccountDto productionAccountDto, Page page);
+
+ void exportDetails(HttpServletResponse response, ProductionAccountDto dto);
}
diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionAccountServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionAccountServiceImpl.java
index c35c757..17bf62e 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionAccountServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionAccountServiceImpl.java
@@ -3,17 +3,23 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.production.bean.dto.ProductionAccountDto;
import com.ruoyi.production.bean.dto.ProductionProductMainDto;
+import com.ruoyi.production.bean.vo.ProductionAccountExportVo;
import com.ruoyi.production.bean.vo.ProductionAccountVo;
import com.ruoyi.production.mapper.ProductionAccountMapper;
import com.ruoyi.production.mapper.ProductionProductMainMapper;
import com.ruoyi.production.pojo.ProductionAccount;
import com.ruoyi.production.service.ProductionAccountService;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.List;
@Service
@RequiredArgsConstructor
@@ -35,6 +41,22 @@
return productionProductMainMapper.listProductionDetails(normalizeDateQuery(dto), page);
}
+ @Override
+ public void exportDetails(HttpServletResponse response, ProductionAccountDto dto) {
+ ProductionAccountDto query = normalizeDateQuery(dto);
+ IPage<ProductionProductMainDto> page = productionProductMainMapper.listProductionDetails(query, new Page<>(1, -1));
+ List<ProductionAccountExportVo> exportList = new ArrayList<>();
+ if (page != null && page.getRecords() != null) {
+ for (ProductionProductMainDto item : page.getRecords()) {
+ ProductionAccountExportVo vo = new ProductionAccountExportVo();
+ BeanUtils.copyProperties(item, vo);
+ exportList.add(vo);
+ }
+ }
+ ExcelUtil<ProductionAccountExportVo> util = new ExcelUtil<>(ProductionAccountExportVo.class);
+ util.exportExcel(response, exportList, "鐢熶骇鏍哥畻");
+ }
+
private ProductionAccountDto normalizeDateQuery(ProductionAccountDto dto) {
// 瑙勮寖鏃ユ湡鏌ヨ鑼冨洿锛岃ˉ榻愮己澶辩殑寮�濮嬫垨缁撴潫鏃堕棿
if (dto == null) {
--
Gitblit v1.9.3