gaoluyang
3 天以前 8c65f898ed6e5b0c7a94c792c4562f6ec831dccd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
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;
 
    }
 
}