liyong
2026-07-10 80ddf4c9c0bcb0f6c31524e0d9f5599c8001e904
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
package cn.iocoder.yudao.module.mes.dal.mysql.home;
 
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
 
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
 
/**
 * MES 首页统计 Mapper
 *
 * @author 芋道源码
 */
@Mapper
public interface MesHomeStatisticsMapper {
 
    /**
     * 按状态统计工单数量
     *
     * @return [{ "status": 0, "count": 5 }, ...]
     */
    List<Map<String, Object>> selectWorkOrderCountGroupByStatus();
 
    /**
     * 统计报工产量合计
     *
     * @param beginTime >= 开始时间
     * @param endTime   < 结束时间
     * @return [feedbackQuantity, qualifiedQuantity, unqualifiedQuantity]
     */
    Map<String, BigDecimal> selectFeedbackSummary(@Param("beginTime") LocalDateTime beginTime,
                                                  @Param("endTime") LocalDateTime endTime);
 
    /**
     * 按设备状态统计设备台数
     *
     * @return [{ "status": 1, "count": 3 }, ...]
     */
    List<Map<String, Object>> selectMachineryCountGroupByStatus();
 
    /**
     * 统计未处置安灯记录数
     *
     * @return 数量
     */
    Long selectAndonActiveCount();
 
    /**
     * 统计未完成维修工单数(草稿 + 维修中 + 待验收)
     *
     * @return 数量
     */
    Long selectRepairActiveCount();
 
    /**
     * 按天聚合报工产量(近 N 天)
     *
     * @param beginTime >= 开始时间
     * @param endTime   < 结束时间
     * @return [{ "date": "2026-04-05", "quantity": 1234, "qualifiedQuantity": 1200, "unqualifiedQuantity": 34 }, ...]
     */
    List<Map<String, Object>> selectDailyFeedbackTrend(@Param("beginTime") LocalDateTime beginTime,
                                                       @Param("endTime") LocalDateTime endTime);
 
}