gaoluyang
昨天 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
package cn.iocoder.yudao.module.mes.api.feedback;
 
import cn.iocoder.yudao.module.mes.api.feedback.dto.MesProFeedbackWageDetailRespDTO;
 
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * MES 生产报工工资 API 接口
 *
 * 供 HRM 薪酬核算汇总「谁报的工就算谁的工资」
 *
 * @author 超级管理员
 */
public interface MesProFeedbackWageApi {
 
    /**
     * 汇总指定报工人在某时间段内已审批通过报工的工资
     *
     * <p>统计口径:报工单状态为待检验/已完成(即审批已通过),且报工时间落在时间段内;
     * 草稿、审批中的报工不计薪。
     *
     * @param feedbackUserIds 报工人(系统用户)编号集合
     * @param beginTime       开始时间(含)
     * @param endTime         结束时间(含)
     * @return 报工人编号 → 报工工资合计;没有报工的人不会出现在 Map 中
     */
    Map<Long, BigDecimal> getWageAmountMap(Collection<Long> feedbackUserIds,
                                           LocalDateTime beginTime, LocalDateTime endTime);
 
    /**
     * 查询指定报工人在某时间段内已审批通过报工的工资明细
     *
     * <p>统计口径与 {@link #getWageAmountMap} 一致;返回的每条记录包含报工单号、工序、
     * 主工资、辅助工资、自定义工资字段明细、质量调整与最终工资,供薪酬核算展示。
     *
     * @param feedbackUserId 报工人(系统用户)编号
     * @param beginTime      开始时间(含)
     * @param endTime        结束时间(含)
     * @return 报工工资明细列表,按报工时间倒序
     */
    List<MesProFeedbackWageDetailRespDTO> getWageDetailList(Long feedbackUserId,
                                                            LocalDateTime beginTime, LocalDateTime endTime);
 
}