package cn.iocoder.yudao.module.mes.service.pro.wage;
|
|
import lombok.Data;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* MES 报工工资计算明细(落库到 mes_pro_feedback.wage_breakdown)
|
*
|
* <p>报工提交时快照单价、辅助计薪与字段取值;审批重算只读本快照,不再读工序当前配置。
|
*
|
* @author 超级管理员
|
*/
|
@Data
|
public class MesProFeedbackWageBreakdown {
|
|
/**
|
* 计费类型:1-计时 2-计件
|
*/
|
private Integer billingType;
|
/**
|
* 报工工时(小时),计件固定为 0
|
*/
|
private BigDecimal workHours;
|
/**
|
* 计件数量(按合格数量优先)
|
*/
|
private BigDecimal pieceQuantity;
|
/**
|
* 工资单价
|
*/
|
private BigDecimal wageRate;
|
/**
|
* 命中的单价规则编号,空=工序默认单价
|
*/
|
private Long wageRuleId;
|
/**
|
* 单价规则匹配层级:EXACT / ROUTE / MACHINERY / DEFAULT
|
*/
|
private String matchLevel;
|
/**
|
* 工艺路线编号
|
*/
|
private Long routeId;
|
/**
|
* 主计价设备编号
|
*/
|
private Long machineryId;
|
/**
|
* 辅助计薪工时(小时)
|
*/
|
private BigDecimal auxPaidHours;
|
/**
|
* 主工资
|
*/
|
private BigDecimal mainWage;
|
/**
|
* 辅助工资
|
*/
|
private BigDecimal auxWage;
|
/**
|
* 工资字段快照
|
*/
|
private List<FieldSnapshot> fields = new ArrayList<>();
|
/**
|
* 质量调整前工资(主工资 + 辅助工资 + 字段调整)
|
*/
|
private BigDecimal preQualityWage;
|
/**
|
* 质量调整
|
*/
|
private Quality quality;
|
/**
|
* 最终工资
|
*/
|
private BigDecimal finalWage;
|
/**
|
* 非阻断提示
|
*/
|
private List<String> warnings = new ArrayList<>();
|
|
@Data
|
public static class FieldSnapshot {
|
|
/**
|
* 字段编码
|
*/
|
private String code;
|
/**
|
* 字段名称
|
*/
|
private String name;
|
/**
|
* 计算角色:1-系数 2-加减金额 3-计价数量 4-仅记录
|
*/
|
private Integer role;
|
/**
|
* 取值
|
*/
|
private String value;
|
/**
|
* 计价数量角色的单价
|
*/
|
private BigDecimal unitPrice;
|
/**
|
* 本字段计入工资的金额
|
*/
|
private BigDecimal amount;
|
|
}
|
|
@Data
|
public static class Quality {
|
|
/**
|
* 合格率(%)
|
*/
|
private BigDecimal passRate;
|
/**
|
* 质量系数
|
*/
|
private BigDecimal coefficient;
|
/**
|
* 质量扣款
|
*/
|
private BigDecimal deduction;
|
|
}
|
|
}
|