qushaowei
2024-07-12 15ae1e3b5cda40a8248a1addf4a64c1e0a9e2b13
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
@@ -11,12 +11,11 @@
        t1.recipient_user_id recipientUserId,
        t1.report_repair_id reportRepairId,
        t1.project_maintenance_order_id projectMaintenanceOrderId,
        t2.num equipmentNum,
        t2.name equipmentName,
        t2.model equipmentModel,
        t2.specific_equipment specificEquipment,
        t1.fault_reason faultReason,
        t1.fault_phenomenon faultPhenomenon,
        t1.preventive_measure preventiveMeasure,
        t1.fault_remove faultRemove,
        t1.fault_description faultDescription,
        t1.fault_time faultTime,
        t1.photo photo,
        t1.is_stop isStop,
        t1.maintenance_method maintenanceMethod,
@@ -34,20 +33,49 @@
        t1.business_type businessType,
        t1.responsibility_id responsibilityId,
        t1.outsourcing_unit outsourcingUnit,
        t1.actual_hour actualHour,
        t1.remark,
        t1.repair_order_uda1 repairOrderUda1,
        t1.repair_order_uda2 repairOrderUda2,
        t1.repair_order_uda3 repairOrderUda3,
        t1.repair_order_uda4 repairOrderUda4,
        t1.repair_order_uda5 repairOrderUda5,
        t1.spare_time spareTime,
        t1.part_time partTime,
        report.err_uda2 errUda2,
        report.accept_time acceptTime,
        report.err_uda3 errUda3,
        report.fault_hour faultHour,
        report.fault_time faultTime,
        t2.num equipmentNum,
        t2.name equipmentName,
        t2.model equipmentModel,
        t2.specific_equipment specificEquipment,
        t2.equipment_importance_id equipmentImportanceId,
        t3.depart_name departName,
        t4.name outsourcingUnitName,
        t5.realname responsibilityName,
        t6.`name` teamName
        t6.name teamName
        from mom_eam_repair_order t1
        left join(select * from mom_eam_equipment_report_repair where del_flag = 0 ) report on report.id = t1.report_repair_id
        left join(select * from mom_eam_equipment where del_flag = 0 and status = 1) t2 on t1.equipment_id= t2.id
        left join sys_depart t3 on t3.id = t1.depart_id
        left join mom_base_supplier t4 on t1.outsourcing_unit = t4.id
        left join sys_user t5 on t5.id = t1.responsibility_id
        left join mom_base_team t6 on t6.id=t1.team_id
        left join mom_eam_repair_order_fault_analysis t7 on t7.repair_order_id=t1.id
        where t1.del_flag = 0
        <if test="id != null and id != ''">
            and t1.id = #{id}
        </if>
        <if test="num != null and num != ''">
            and t1.num like concat('%',#{num},'%')
        </if>
        <if test="equipNums.size!=0">
            and t2.num in
            <foreach collection="equipNums" open="(" separator="," close=")" item="num">
                #{num}
            </foreach>
        </if>
        <if test="equipmentNum != null and equipmentNum != ''">
            and t2.num like concat('%',#{equipmentNum},'%')
@@ -58,7 +86,43 @@
        <if test="status != null and status != ''">
            and t1.status = #{status}
        </if>
        and t1.repair_order_type = #{repairOrderType} order by t1.create_time desc
        <if test="repairOrderUda1 != null and repairOrderUda1 != ''">
            and t1.repair_order_uda1 = #{repairOrderUda1}
        </if>
        <if test="equipmentCategoryId != null and equipmentCategoryId != ''">
            and t2.equipment_category_id = #{equipmentCategoryId}
        </if>
        <if test="factoryModelId != null and factoryModelId != ''">
            and t2.factory_model_id = #{factoryModelId}
        </if>
        <if test="specificEquipment != null and specificEquipment != ''">
            and t2.specific_equipment = #{specificEquipment}
        </if>
        <if test="equipmentImportanceId != null and  equipmentImportanceId != ''">
            and t2.equipment_importance_id = #{equipmentImportanceId}
        </if>
        <if test="faultCause != null and  faultCause != ''">
            and t7.repair_order_fault_analysis_uda2 = #{faultCause}
        </if>
        <if test="teamId != null and teamId != ''">
            and t1.team_id = #{teamId}
        </if>
        <if test="repairOrderType != null and repairOrderType != ''">
            and t1.repair_order_type = #{repairOrderType}
        </if>
        <if test="faultStartTime != null">
            and report.fault_time &gt;= #{faultStartTime}
        </if>
        <if test="faultEndTime != null">
            and report.fault_time &lt;= #{faultEndTime}
        </if>
        <if test="createStartTime != null">
            and t1.create_time &gt;= #{createStartTime}
        </if>
        <if test="createEndTime != null">
            and t1.create_time &lt;= #{createEndTime}
        </if>
        order by t1.create_time desc
    </select>
@@ -66,12 +130,12 @@
        select
        t1.realname as realName,
        t1.id,
        t1.user_code as userCode,
        t3.name as teamName,
        t3.id as teamId
        t1.username as userCode
--         t3.name as teamName,
--         t3.id as teamId
        FROM sys_user t1
        LEFT JOIN mom_base_team_class t2 on t2.id =t1.team_class_id
        LEFT JOIN mom_base_team t3 on t3.id =t2.team_id
--         LEFT JOIN mom_base_team_class t2 on t2.id =t1.team_class_id
--         LEFT JOIN mom_base_team t3 on t3.id =t2.team_id
        where t1.realname IS NOT NULL
        <if test="realname != null and realname != ''">
            and t1.realname like concat('%',#{realname},'%')
@@ -85,11 +149,11 @@
        select
        t1.id,
        t1.spare_part_id as sparePartId,
        IFNULL(t1.use_quantity,0) as useQuantity,
        ISNULL(t1.use_quantity,0) as useQuantity,
        t2.num,
        t2.id as outboundOrderId,
        IFNULL(t1.outbound_main_quantity,0) as mainQuantity,
        (IFNULL(t1.outbound_main_quantity,0)-IFNULL(t1.use_quantity,0)) as availableQuantity,
        ISNULL(t1.outbound_main_quantity,0) as mainQuantity,
        (ISNULL(t1.outbound_main_quantity,0)-ISNULL(t1.use_quantity,0)) as availableQuantity,
        t3.num as spareNum,
        t3.name as  spareName,
        t3.model,
@@ -103,7 +167,7 @@
        LEFT JOIN  mom_eam_spare_part   t3  on  t3.id =t1.spare_part_id
        LEFT JOIN  mom_base_constructor   t4  on  t4.id =t3.constructor_id
        LEFT JOIN  mom_base_unit   t5  on  t5.id =t1.main_unit_id
        where t1.del_flag = 0 and t1.outbound_main_quantity != 0 and  (IFNULL(t1.outbound_main_quantity,0)-IFNULL(t1.use_quantity,0)) != 0
        where t1.del_flag = 0 and t3.del_flag = 0 and t1.outbound_main_quantity != 0 and  (ISNULL(t1.outbound_main_quantity,0)-ISNULL(t1.use_quantity,0)) != 0
        <if test="status != null and status != ''">
            and t1.status = #{status}
        </if>
@@ -114,4 +178,127 @@
    </select>
    <select id="getAllFaultCause"  parameterType="Map" resultType="Map">
        SELECT
            t1.repair_order_fault_analysis_uda2,
            COUNT ( t1.repair_order_fault_analysis_uda2 ) AS total,
            t2.item_text AS faultCause
        FROM
        ( SELECT * FROM v_sys_dict WHERE dict_code = 'repair_order_fault_cause' ) t2
        LEFT JOIN mom_eam_repair_order_fault_analysis t1 ON t1.repair_order_fault_analysis_uda2 = t2.item_value
        WHERE
            del_flag = '0'
        GROUP BY
            t1.repair_order_fault_analysis_uda2,
            t2.item_text
    </select>
    <select id="getFaultCause"  parameterType="Map" resultType="Map">
        SELECT
            t3.item_text  as  faultCause,
            count(t4.repair_order_fault_analysis_uda2) as total
        FROM
                ( SELECT * FROM v_sys_dict WHERE dict_code = 'repair_order_fault_cause' ) t3
                    LEFT JOIN (
                SELECT
                    t1.repair_order_fault_analysis_uda2
                FROM
                    mom_eam_repair_order_fault_analysis t1
                        LEFT JOIN mom_eam_repair_order t2 ON t1.repair_order_id = t2.id
                WHERE
                    t1.del_flag = 0
                  AND t2.del_flag = 0
                  AND t2.equipment_id = #{equipmentId}
            ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2
        group by t3.item_text
    </select>
    <select id="getFaultCausePie"  parameterType="Map" resultType="Map">
        SELECT
            t3.item_text  as  x,
            count(t4.repair_order_fault_analysis_uda2) as y
        FROM
                ( SELECT * FROM v_sys_dict WHERE dict_code = 'repair_order_fault_cause' ) t3
                    LEFT JOIN (
                SELECT
                    t1.repair_order_fault_analysis_uda2
                FROM
                    mom_eam_repair_order_fault_analysis t1
                    LEFT JOIN mom_eam_repair_order t2 ON t1.repair_order_id = t2.id
                    left join mom_eam_equipment t11 on t2.equipment_id = t11.id
                WHERE
                    t1.del_flag = 0
                  AND t2.del_flag = 0
                 <if test="params.equipmentNum != null and params.equipmentNum != ''">
                     and t11.num = #{params.equipmentNum}
                 </if>
                <if test="params.faultStartTime != null">
                    and t2.create_time &gt;= #{params.faultStartTime}
                </if>
                <if test="params.faultEndTime != null">
                    and t2.create_time &lt;= #{params.faultEndTime}
                </if>
            ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2
        group by t3.item_text
    </select>
    <select id="getFaultCauseBar"  parameterType="Map" resultType="Map">
        SELECT
            t3.item_text  as  item,
            count(t4.repair_order_fault_analysis_uda2) as count
        FROM
            ( SELECT * FROM v_sys_dict WHERE dict_code = 'repair_order_fault_cause' ) t3
            LEFT JOIN (
                SELECT
                 t1.repair_order_fault_analysis_uda2
                 FROM
                mom_eam_repair_order_fault_analysis t1
                    LEFT JOIN mom_eam_repair_order t2 ON t1.repair_order_id = t2.id
                    left join mom_eam_equipment t11 on t2.equipment_id = t11.id
                WHERE
                t1.del_flag = 0
                AND t2.del_flag = 0
            <if test="params.equipmentNum != null and params.equipmentNum != ''">
                and t11.num = #{params.equipmentNum}
            </if>
            <if test="params.faultStartTime != null">
                and t2.create_time &gt;= #{params.faultStartTime}
            </if>
            <if test="params.faultEndTime != null">
                and t2.create_time &lt;= #{params.faultEndTime}
            </if>
        ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2
        group by t3.item_text
    </select>
    <select id="getMTPF"  parameterType="Map" resultType="Map">
        SELECT
            t3.item_text  as  item,
            count(t4.repair_order_fault_analysis_uda2) as count
            FROM
            ( SELECT * FROM v_sys_dict WHERE dict_code = 'repair_order_fault_cause' ) t3
                LEFT JOIN (
                    SELECT
                        t1.repair_order_fault_analysis_uda2
                        FROM
                    mom_eam_repair_order_fault_analysis t1
                    LEFT JOIN mom_eam_repair_order t2 ON t1.repair_order_id = t2.id
                    left join mom_eam_equipment t11 on t2.equipment_id = t11.id
                        WHERE
                        t1.del_flag = 0
                        AND t2.del_flag = 0
            <if test="params.equipmentNum != null and params.equipmentNum != ''">
                and t11.num = #{params.equipmentNum}
            </if>
            <if test="params.faultStartTime != null">
                and t2.create_time &gt;= #{params.faultStartTime}
            </if>
            <if test="params.faultEndTime != null">
                and t2.create_time &lt;= #{params.faultEndTime}
            </if>
            ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2
        group by t3.item_text
    </select>
</mapper>