车间能级提升-智能设备管理系统
zhuguifei
2025-03-12 66e943c91e133eec5a0822ea22fd92cbc04bc9f3
eims/ruoyi-modules/lb-eims/src/main/resources/mapper/eims/EimsMaintOrderMapper.xml
@@ -5,6 +5,9 @@
<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,
@@ -19,4 +22,27 @@
                 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>