Commit 09291e69 authored by chicheng's avatar chicheng

进度报表添加

parent ab91fe45
package com.ximai.mes.report.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 进度报表查询条件
*/
@Data
public class ProgressReportRequest {
@ApiModelProperty("排产时间-开始")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date scheduleStartDate;
@ApiModelProperty("排产时间-结束")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date scheduleEndDate;
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty("订单序号")
private String orderSerial;
@ApiModelProperty("产品编号")
private String productCode;
@ApiModelProperty("产品名称")
private String productName;
/** 在制进度小于(0-100),仅显示进度小于该值的工单 */
@ApiModelProperty("在制进度小于(%)")
private BigDecimal progressLessThan;
/** 需求时间(小于XX日期),仅显示需求时间早于该日期的工单 */
@ApiModelProperty("需求时间(小于日期)")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date requestDateBefore;
}
package com.ximai.mes.report.response;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 进度报表分页结果(列表 + 总条数)
* 用于 Service 内重新组装列表后仍能正确返回 PageHelper 的总条数
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ProgressReportListResult {
private List<ProgressReportResponse> list;
private long total;
}
package com.ximai.mes.report.response;
import lombok.Data;
import java.math.BigDecimal;
/**
* 进度报表-按编排单号汇总的工序完工数量(Mapper 用)
*/
@Data
public class ProgressReportProcessQtyByArrangeDto {
private String arrangeCode;
private String processName;
private BigDecimal quantityProduced;
}
package com.ximai.mes.report.response;
import lombok.Data;
import java.math.BigDecimal;
/**
* 进度报表-工单工序完工数量 DTO(Mapper 用)
*/
@Data
public class ProgressReportProcessQtyDto {
private Long workorderId;
private String processName;
private BigDecimal quantityProduced;
}
package com.ximai.mes.report.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 进度报表行数据
* 工序列为动态:processQuantities key 为工序名称,value 为该工序完工数量
*/
@Data
public class ProgressReportResponse {
@ApiModelProperty("排产时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date scheduleTime;
@ApiModelProperty("订单单号")
private String orderCode;
@ApiModelProperty("产线名称")
private String lineName;
@ApiModelProperty("生产工单")
private String workorderCode;
@ApiModelProperty("订单序号")
private String orderSerial;
@ApiModelProperty("工单类型")
private String workorderType;
@ApiModelProperty("产品编号")
private String productCode;
@ApiModelProperty("产品名称")
private String productName;
/** 动态工序列:key=工序名称,value=完工数量 */
@ApiModelProperty("各工序完工数量(工序名为key)")
private Map<String, BigDecimal> processQuantities = new LinkedHashMap<>();
@ApiModelProperty("计划数量")
private BigDecimal planQuantity;
@ApiModelProperty("在制进度%")
private BigDecimal progressPercent;
@ApiModelProperty("需求时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date requestDate;
}
package com.ximai.mes.report.response;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* 进度报表主表查询行 DTO(Mapper 用)
*/
@Data
public class ProgressReportRowDto {
private Long workorderId;
private String arrangeCode;
private Date scheduleTime;
private String orderCode;
private String lineName;
private String workorderCode;
private String orderSerial;
private String workorderType;
private String productCode;
private String productName;
private BigDecimal planQuantity;
private BigDecimal quantityProduced;
private Date requestDate;
/** 工单工序数量(用于在制进度分母 计划数量*N) */
private Integer processCount;
/** 各工序报工数量之和(来自 pro_task_workunit) */
private BigDecimal sumProcessQty;
/** 在制进度% = sumProcessQty/(planQuantity*processCount)*100,SQL 计算便于按条件筛选 */
private BigDecimal progressPercent;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment