From c0830a46d6f0ab9a04428c69830045dcee1af0c3 Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Sun, 21 Sep 2025 16:58:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(hwmom-mes):=20=E6=96=B0=E5=A2=9E=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A1=E5=88=92=E6=98=8E=E7=BB=86=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=AF=B9=E8=B1=A1=E5=92=8C=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E6=96=B0=E5=A2=9E=20`ProdProductPlanDetailSt?= =?UTF-8?q?atisticsBo`=E7=94=A8=E4=BA=8E=E6=8E=A5=E6=94=B6=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E8=AE=A1=E5=88=92=E6=98=8E=E7=BB=86=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6=EF=BC=8C=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E8=BD=A6=E9=97=B4=E3=80=81=E6=97=B6=E9=97=B4=E8=8C=83?= =?UTF-8?q?=E5=9B=B4=E3=80=81=E5=B7=A5=E5=BA=8F=E3=80=81=E6=9C=BA=E5=8F=B0?= =?UTF-8?q?=E3=80=81=E7=8F=AD=E6=AC=A1=E3=80=81=E7=8F=AD=E7=BB=84=E5=8F=8A?= =?UTF-8?q?=E7=89=A9=E6=96=99=E7=AD=89=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增 `ProdProductPlanDetailStatisticsVo` 用于展示生产计划明细统计结果, 支持 Excel 导出,包含机台信息、班次数量统计(早班、夜班)、合计数量及动态班次数据。 --- .../bo/ProdProductPlanDetailStatisticsBo.java | 122 ++++++++++++++++++ .../vo/ProdProductPlanDetailStatisticsVo.java | 82 ++++++++++++ 2 files changed, 204 insertions(+) create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdProductPlanDetailStatisticsBo.java create mode 100644 ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdProductPlanDetailStatisticsVo.java diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdProductPlanDetailStatisticsBo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdProductPlanDetailStatisticsBo.java new file mode 100644 index 00000000..2e01d111 --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/bo/ProdProductPlanDetailStatisticsBo.java @@ -0,0 +1,122 @@ +package org.dromara.mes.domain.bo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import jakarta.validation.constraints.*; +import java.util.Date; + +/** + * 生产信息统计业务对象 prod_product_plan_detail_statistics + * + * @author Yinq + * @date 2025-03-05 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class ProdProductPlanDetailStatisticsBo extends BaseEntity { + + /** + * 车间ID + */ + private Long workshopId; + + /** + * 开始日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startDate; + + /** + * 结束日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endDate; + + /** + * 生产开始时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date productionStartTime; + + /** + * 生产结束时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date productionEndTime; + + /** + * 工序ID + */ + private Long processId; + + /** + * 工序名称 + */ + private String processName; + + /** + * 机台ID + */ + private Long machineId; + + /** + * 机台编号 + */ + private String machineCode; + + /** + * 机台名称 + */ + private String machineName; + + /** + * 班次ID + */ + private Long shiftId; + + /** + * 班次名称 + */ + private String shiftName; + + /** + * 班组ID + */ + private Long classTeamId; + + /** + * 班组名称 + */ + private String teamName; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 物料类型名称 + */ + private String materialTypeName; + + /** + * 物料ID + */ + private Long materialId; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 物料编码 + */ + private String materialCode; + +} \ No newline at end of file diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdProductPlanDetailStatisticsVo.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdProductPlanDetailStatisticsVo.java new file mode 100644 index 00000000..6b8462bd --- /dev/null +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/domain/vo/ProdProductPlanDetailStatisticsVo.java @@ -0,0 +1,82 @@ +package org.dromara.mes.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Map; + +/** + * 生产信息统计视图对象 prod_product_plan_detail_statistics + * + * @author Yinq + * @date 2025-03-05 + */ +@Data +@ExcelIgnoreUnannotated +public class ProdProductPlanDetailStatisticsVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 序号 + */ + @ExcelProperty(value = "序号") + private Integer rowNumber; + + /** + * 机台编号 + */ + @ExcelProperty(value = "机台") + private String machineCode; + + /** + * 机台名称 + */ + private String machineName; + + /** + * 机台ID + */ + private Long machineId; + + /** + * 早班数量 + */ + @ExcelProperty(value = "早") + private BigDecimal morningShiftAmount; + + /** + * 夜班数量 + */ + @ExcelProperty(value = "夜") + private BigDecimal nightShiftAmount; + + /** + * 合计数量 + */ + @ExcelProperty(value = "合计") + private BigDecimal totalAmount; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unitName; + + /** + * 动态班次数据 - 用于存储所有班次的统计数据 + * key: 班次名称, value: 完成数量 + */ + private Map shiftAmountMap; + + /** + * 动态班次名称列表 - 用于动态表头生成 + */ + private java.util.List shiftNames; + +} \ No newline at end of file