cuilei
8 天以前 58020f3d711d4baa16ef092c2ea826071c7d23b9
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml
@@ -46,6 +46,70 @@
                AND t1.fault_start_time BETWEEN #{ eamReportRepair.startTime } AND #{ eamReportRepair.endTime }
            </if>
        </where>
        ORDER BY t1.fault_start_time DESC
        ORDER BY t1.create_time DESC
    </select>
    <select id="equipmentRepairStatistics" resultType="org.jeecg.modules.eam.vo.EquipmentRepairStatistics">
        select FORMAT(err.create_time, 'yyyy-MM') as monthStr,
               COUNT(1) as reportNumber,
               SUM(CASE WHEN err.report_status = 'COMPLETE' THEN 1 ELSE 0 END) as repairedNumber
        from eam_report_repair err
        inner join eam_equipment e
        on err.equipment_id = e.id
        where err.report_status != 'ABOLISH' and err.del_flag = 0 and e.del_flag = 0
        <if test="productionIds != null">
            AND e.org_id IN
            <foreach collection="productionIds" item="productionId" index="index" open="(" close=")" separator=",">
                #{productionId}
            </foreach>
        </if>
        and err.create_time &gt;= #{start}
        and err.create_time &lt; #{end}
        group by FORMAT(err.create_time, 'yyyy-MM')
    </select>
    <select id="repairStatusStatistics" resultType="org.jeecg.modules.eam.vo.EquipmentRepairStatusStatistics">
        SELECT
            SUM(CASE WHEN t.report_status='WAIT_REPAIR' THEN 1 ELSE 0 END) AS waitRepair,
            SUM(CASE WHEN t.report_status='UNDER_REPAIR' THEN 1 ELSE 0 END) AS underRepair,
            SUM(CASE WHEN t.report_status='WAIT_SPARES' THEN 1 ELSE 0 END) AS waitSpares,
            SUM(CASE WHEN t.report_status='WAIT_CONFIRM' THEN 1 ELSE 0 END) AS waitConfirm
        from eam_report_repair t
        where t.report_status not in ('ABOLISH', 'COMPLETE') and t.del_flag = 0
    </select>
    <select id="repairList" resultType="org.jeecg.modules.eam.vo.EquipmentRepairListVO">
        select e.equipment_code,
               e.equipment_name,
               e.org_id,
               e.installation_position,
               err.create_by as reportOperator,
               err.fault_start_time,
               ero.repairer as repairOperator,
               ero.actual_start_time as repairStartTime,
               err.report_status
        from eam_report_repair err
                 left join eam_equipment e
                           on err.equipment_id = e.id
                 left join eam_repair_order ero
                           on ero.report_id = err.id
        where err.report_status not in ('ABOLISH', 'COMPLETE')
          and err.del_flag = 0
        order by e.org_id, err.fault_start_time
    </select>
    <select id="faultTypeStatistics" resultType="org.jeecg.modules.eam.vo.FaultTypeStatisticsVO">
        select t.fault_type, count(1) as faultCount
        from eam_report_repair t
        where t.report_status != 'ABOLISH' and t.del_flag = 0
          and t.create_time &gt;= #{start}
          and t.create_time &lt; #{end}
        group by t.fault_type
    </select>
    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamReportRepair">
        select wmo.*, e.equipment_code, e.equipment_name, e.installation_position
        from eam_report_repair wmo
        inner join eam_equipment e
        on wmo.equipment_id = e.id
        ${ew.customSqlSegment}
    </select>
</mapper>