车间能级提升-智能设备管理系统
zhuguifei
2025-03-12 66e943c91e133eec5a0822ea22fd92cbc04bc9f3
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
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.eims.mapper.EimsMaintOrderMapper">
    <resultMap type="org.dromara.eims.domain.vo.EimsMaintOrderVo" id="EimsMaintOrderResult">
    </resultMap>
 
    <resultMap type="org.dromara.eims.domain.vo.MaintOrdeGroupVo" id="MaintOrdeGroupVoResult">
    </resultMap>
    <select id="selectMaintOrderList" resultMap="EimsMaintOrderResult">
        SELECT mo.*,equ.equ_name equName,equ.equ_code equCode,equ.asset_no assetNo,equ.model_no modelNo,mo.create_time createTime,
               pl.maint_name maintName,
               us.nick_name maintUserName,dp.dept_name maintDeptName,ue.nick_name verifyUserName,
               CONCAT_WS('', mo.maint_cycle, dd.dict_label) maintCycleUnitName
        FROM eims_maint_order mo
                 LEFT JOIN eims_equ equ ON mo.equ_id = equ.equ_id
                 LEFT JOIN sys_user us ON mo.maint_user = us.user_id
                 LEFT JOIN sys_user ue ON mo.verify_user = ue.user_id
                 LEFT JOIN sys_dept dp ON mo.maint_dept = dp.dept_id
                 LEFT JOIN eims_maint_plan pl ON pl.id = mo.plan_id
                 LEFT JOIN sys_dict_data dd on dd.dict_type = 'maint_cycle_unit' and dd.dict_value = mo.maint_cycle_unit
            ${ew.getCustomSqlSegment}
    </select>
    <select id="selectMaintOrderGroupList" resultMap="MaintOrdeGroupVoResult">
        SELECT
            mo.equ_id,
            mo.plan_time,
            MAX(equ.equ_name) AS equName,
            MAX(equ.equ_code) AS equCode,
            MAX(equ.asset_no) AS assetNo,
            MAX(equ.model_no) AS modelNo,
            GROUP_CONCAT(us.nick_name SEPARATOR ', ') AS maintUserNames,
            GROUP_CONCAT(ue.nick_name SEPARATOR ', ') AS verifyUserNames,
            COUNT(mo.id) AS orderCount, -- 维护订单的总数
            SUM(CASE WHEN mo.status = 0 THEN 1 ELSE 0 END) AS dbyCount,
            SUM(CASE WHEN mo.status = 1 THEN 1 ELSE 0 END) AS byCount,
            SUM(CASE WHEN mo.status = 2 THEN 1 ELSE 0 END) AS dyzCount,
            SUM(CASE WHEN mo.status = 3 THEN 1 ELSE 0 END) AS wcCount
        FROM eims_maint_order mo
                 LEFT JOIN eims_equ equ ON mo.equ_id = equ.equ_id
                 LEFT JOIN sys_user us ON mo.maint_user = us.user_id
                 LEFT JOIN sys_user ue ON mo.verify_user = ue.user_id
                 LEFT JOIN sys_dept dp ON mo.maint_dept = dp.dept_id
                 LEFT JOIN eims_maint_plan pl ON pl.id = mo.plan_id
            ${ew.getCustomSqlSegment}
    </select>
</mapper>