From 4da34a9f82571007296dfecab9d06cd8da42d9d8 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期六, 09 五月 2026 10:59:03 +0800
Subject: [PATCH] feat(production): 添加生产订单导出功能
---
src/main/java/com/ruoyi/production/controller/ProductionOrderController.java | 18 ++++++++++++++++++
src/main/java/com/ruoyi/production/pojo/ProductionOrder.java | 8 ++++++++
src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java | 5 +++++
3 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java b/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
index 1bb26a4..01ef33a 100644
--- a/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
+++ b/src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java
@@ -1,6 +1,7 @@
package com.ruoyi.production.bean.vo;
import com.ruoyi.basic.dto.StorageBlobVO;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.production.pojo.ProductionOrder;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -20,12 +21,15 @@
private String customerName;
@Schema(description = "浜у搧鍚嶇О")
+ @Excel(name = "浜у搧鍚嶇О",sort = 2)
private String productName;
@Schema(description = "瑙勬牸鍨嬪彿")
+ @Excel(name = "瑙勬牸",sort = 3)
private String model;
@Schema(description = "宸ヨ壓璺嚎缂栫爜")
+ @Excel(name = "宸ヨ壓璺嚎缂栧彿",sort = 4)
private String processRouteCode;
@Schema(description = "浜у搧鍥剧墖")
@@ -35,6 +39,7 @@
private String bomNo;
@Schema(description = "瀹屾垚杩涘害")
+ @Excel(name = "瀹屾垚杩涘害",sort = 7)
private BigDecimal completionStatus;
@Schema(description = "鏄惁宸查��鏂�")
diff --git a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
index b5f7b97..0a68875 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductionOrderController.java
@@ -1,7 +1,11 @@
package com.ruoyi.production.controller;
+import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.framework.web.domain.R;
import com.ruoyi.production.bean.dto.ProductionOrderDto;
import com.ruoyi.production.bean.vo.ProductionOrderPickVo;
@@ -10,13 +14,17 @@
import com.ruoyi.production.bean.vo.ProductionOrderWorkOrderDetailVo;
import com.ruoyi.production.pojo.ProductionOrder;
import com.ruoyi.production.service.ProductionOrderService;
+import com.ruoyi.sales.dto.SalesLedgerDto;
+import com.ruoyi.sales.vo.SalesLedgerVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
+import java.util.ArrayList;
import java.util.List;
@RestController
@@ -95,4 +103,14 @@
public R updateOrder(@RequestBody ProductionOrderDto productionOrderDto) {
return R.ok(productionOrderService.updateOrder(productionOrderDto));
}
+
+
+ @Log(title = "鐢熶骇璁㈠崟瀵煎嚭", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, ProductionOrderDto dto) {
+ IPage<ProductionOrderVo> productionOrderVoIPage = productionOrderService.pageProductionOrder(new Page<>(-1, -1), dto);
+ List<ProductionOrderVo> records = productionOrderVoIPage.getRecords();
+ ExcelUtil<ProductionOrderVo> util = new ExcelUtil<>(ProductionOrderVo.class);
+ util.exportExcel(response, records, "鐢熶骇璁㈠崟鏁版嵁");
+ }
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
index 1f882b1..e52ee9d 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductionOrder.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -36,6 +37,7 @@
private Long productModelId;
@Schema(description = "鐢熶骇璁㈠崟鍙�")
+ @Excel(name = "鐢熶骇璁㈠崟",sort = 0)
private String npsNo;
@Schema(description = "褰曞叆鏃堕棿")
@@ -50,15 +52,19 @@
private Long technologyRoutingId;
@Schema(description = "闇�姹傛暟閲忋�傛墜鍔ㄦ柊澧炴椂蹇呭~涓斿繀椤诲ぇ浜� 0锛涘鏋滀紶浜� productionPlanIds锛屽垯鍙敱绯荤粺鑷姩甯﹀嚭銆�")
+ @Excel(name = "闇�姹傛暟閲�",sort = 5)
private BigDecimal quantity;
@Schema(description = "瀹屾垚鏁伴噺")
+ @Excel(name = "瀹屾垚鏁伴噺",sort = 6)
private BigDecimal completeQuantity;
@Schema(description = "寮�濮嬫棩鏈�")
+ @Excel(name = "寮�濮嬫棩鏈�",sort = 8,dateFormat = "yyyy-MM-dd")
private LocalDateTime startTime;
@Schema(description = "缁撴潫鏃ユ湡")
+ @Excel(name = "缁撴潫鏃ユ湡",sort = 9,dateFormat = "yyyy-MM-dd")
private LocalDateTime endTime;
@Schema(description = "鍒涘缓浜篒D")
@@ -72,9 +78,11 @@
@Schema(description = "璁″垝瀹屾垚鏃堕棿")
@JsonFormat(pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "璁″垝瀹屾垚鏃堕棿",sort = 10,dateFormat = "yyyy-MM-dd")
private LocalDate planCompleteTime;
@Schema(description = "鐘舵�侊紙1.寰呭紑濮� 2.杩涜涓� 3.宸插畬鎴� 4.宸插彇娑� 5.宸茬粨鏉燂級")
+ @Excel(name = "鐘舵��",sort = 1,readConverterExp = "1=寰呭紑濮�,2=杩涜涓�,3=宸插畬鎴�,4=宸插彇娑�,5=宸茬粨鏉�")
private Integer status;
@Schema(description = "鏄惁缁撴潫锛�")
--
Gitblit v1.9.3