buhuazhen
5 天以前 4da34a9f82571007296dfecab9d06cd8da42d9d8
feat(production): 添加生产订单导出功能

为 ProductionOrder 和 ProductionOrderVo 实体添加 Excel 导出注解
在 ProductionOrderController 中新增 export 方法实现数据导出
已修改3个文件
31 ■■■■■ 文件已修改
src/main/java/com/ruoyi/production/bean/vo/ProductionOrderVo.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/controller/ProductionOrderController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/pojo/ProductionOrder.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = "是否已退料")
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, "生产订单数据");
    }
}
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 = "创建人ID")
@@ -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 = "是否结束)")