From 4b27dd367eae2f24958c6bb857fb6959dcdb7a4a Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期五, 13 六月 2025 18:04:46 +0800 Subject: [PATCH] 报表提交 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml | 252 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 245 insertions(+), 7 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml index 65a1ea3..1db6798 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml +++ b/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 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,58 @@ <if test="status != null and status != ''"> and t1.status = #{status} </if> - and t1.repair_order_type = #{repairOrderType} + <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 >= #{faultStartTime} + </if> + <if test="faultEndTime != null"> + and report.fault_time <= #{faultEndTime} + </if> + <if test="createStartTime != null"> + and t1.create_time >= #{createStartTime} + </if> + <if test="createEndTime != null"> + and t1.create_time <= #{createEndTime} + </if> + + <if test="workCenterIds != null"> + and t2.work_center_id in + <foreach collection="workCenterIds" open="(" separator="," close=")" item="workCenterId"> + #{workCenterId} + </foreach> + </if> + <if test="equipmentId != null"> + and t1.equipment_id = #{equipmentId} + </if> + <if test="statusEnums != null"> + and t1.status not in + <foreach collection="statusEnums" open="(" separator="," close=")" item="statusEnum"> + #{statusEnum} + </foreach> + </if> order by t1.create_time desc </select> @@ -104,7 +183,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 (ISNULL(t1.outbound_main_quantity,0)-ISNULL(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> @@ -115,4 +194,163 @@ </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 like concat('%',#{params.equipmentNum},'%') + </if> + <if test="params.useId != null and params.useId != ''"> + and t11.use_id = #{params.useId} + </if> + <if test="params.faultStartTime != null"> + and t2.create_time >= #{params.faultStartTime} + </if> + <if test="params.faultEndTime != null"> + and t2.create_time <= #{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 like concat('%',#{params.equipmentNum},'%') + </if> + <if test="params.useId != null and params.useId != ''"> + and t11.use_id = #{params.useId} + </if> + <if test="params.faultStartTime != null"> + and t2.create_time >= #{params.faultStartTime} + </if> + <if test="params.faultEndTime != null"> + and t2.create_time <= #{params.faultEndTime} + </if> + ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2 + group by t3.item_text + </select> + + <select id="getEquipmentFaultCause" parameterType="Map" resultType="Map"> + select count(SUBSTRING(CONVERT(VARCHAR(10), t1.fault_time, 120), 1, 10)) as '璁惧鏁呴殰娆℃暟', + SUBSTRING(CONVERT(VARCHAR(10), t1.fault_time, 120), 1, 10) as type from mom_eam_equipment_report_repair t1 + left join mom_eam_equipment t2 on t1.equipment_id = t2.id + where 1=1 + <if test="params.equipmentNum != null and params.equipmentNum != ''"> + and t2.num like concat('%',#{params.equipmentNum},'%') + </if> + <if test="params.useId != null and params.useId != ''"> + and t2.use_id = #{params.useId} + </if> + <if test="params.faultStartTime != null"> + and t1.fault_time >= #{params.faultStartTime} + </if> + <if test="params.faultEndTime != null"> + and t1.fault_time <= #{params.faultEndTime} + </if> + GROUP BY SUBSTRING(CONVERT(VARCHAR(10), t1.fault_time, 120), 1, 10) + </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 like concat('%',#{params.equipmentNum},'%') + </if> + <if test="params.useId != null and params.useId != ''"> + and t11.use_id = #{params.useId} + </if> + <if test="params.faultStartTime != null"> + and t2.create_time >= #{params.faultStartTime} + </if> + <if test="params.faultEndTime != null"> + and t2.create_time <= #{params.faultEndTime} + </if> + ) t4 ON t3.item_value = t4.repair_order_fault_analysis_uda2 + group by t3.item_text + </select> + + <update id="updateRepair" parameterType="String"> + UPDATE mom_eam_repair_order + SET actual_end_time = null, + status = '3' + WHERE id = #{id} + </update> </mapper> -- Gitblit v1.9.3