From d2f503f72b5485bfee54ea296c7d0a9a243cea02 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 14 一月 2026 17:51:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_ztns' into dev_ztns
---
inspect-server/src/main/java/com/ruoyi/inspect/controller/DataAnalysisController.java | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 50 insertions(+), 1 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/controller/DataAnalysisController.java b/inspect-server/src/main/java/com/ruoyi/inspect/controller/DataAnalysisController.java
index 933df44..c6efafd 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/controller/DataAnalysisController.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/controller/DataAnalysisController.java
@@ -2,7 +2,9 @@
import com.ruoyi.basic.dto.IfsInventoryQuantitySupplierDto;
import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.inspect.dto.DataAnalysisDto;
+import com.ruoyi.inspect.dto.MaterialPropTableDTO;
import com.ruoyi.inspect.service.DataAnalysisService;
import com.ruoyi.inspect.vo.DeviationAnalyzeVo;
import io.swagger.annotations.Api;
@@ -10,6 +12,9 @@
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.List;
/**
@@ -51,7 +56,7 @@
/**
* 鏌ヨ鐗╂枡灞炴�у悎鏍肩巼琛ㄦ牸
*
- * @param dataAnalysisDto
+ * @param dataAnalysisDto 鏌ヨ鍙傛暟
* @return
*/
@ApiOperation(value = "鏌ヨ鐗╂枡灞炴�у悎鏍肩巼琛ㄦ牸")
@@ -60,6 +65,50 @@
return Result.success(dataAnalysisService.getMaterialPropTable(dataAnalysisDto));
}
+ @PostMapping("/exportSupplierExcel")
+ public void exportSupplierExcel(HttpServletResponse response, @RequestBody List<MaterialPropTableDTO> materialProps) {
+
+ if (materialProps == null || materialProps.isEmpty()) {
+ return;
+ }
+
+ int index = 1;
+ for (MaterialPropTableDTO dto : materialProps) {
+ dto.setIndex(String.valueOf(index++));
+ }
+
+ int totalBatchSum = 0;
+ int unqualifiedBatchSum = 0;
+
+ for (MaterialPropTableDTO dto : materialProps) {
+ if (dto.getTotalBatch() != null) {
+ totalBatchSum += dto.getTotalBatch();
+ }
+ if (dto.getUnqualifiedBatch() != null) {
+ unqualifiedBatchSum += dto.getUnqualifiedBatch();
+ }
+ }
+
+ BigDecimal passRateSum = BigDecimal.ZERO;
+ if (totalBatchSum > 0) {
+ passRateSum = BigDecimal
+ .valueOf(totalBatchSum - unqualifiedBatchSum)
+ .multiply(BigDecimal.valueOf(100))
+ .divide(BigDecimal.valueOf(totalBatchSum), 2, RoundingMode.HALF_UP);
+ }
+
+ MaterialPropTableDTO totalRow = new MaterialPropTableDTO();
+ totalRow.setIndex("鍚堣");
+ totalRow.setSupplierName("");
+ totalRow.setTotalBatch(totalBatchSum);
+ totalRow.setUnqualifiedBatch(unqualifiedBatchSum);
+ totalRow.setPassRate(passRateSum);
+ materialProps.add(totalRow);
+
+ ExcelUtil<MaterialPropTableDTO> excelUtil = new ExcelUtil<>(MaterialPropTableDTO.class);
+ excelUtil.exportExcel(response, materialProps, "鍚堟牸鐜囩粺璁�");
+ }
+
/**
* 鏌ヨ鍘熸潗鏂欓」
*
--
Gitblit v1.9.3