|
|
@@ -817,67 +817,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
GROUP BY
|
|
|
rop.user_id
|
|
|
) d ON u.user_id = d.user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- rop.user_id,
|
|
|
- SUM((TIMESTAMPDIFF( SECOND, ro.real_start_time, ro.real_end_time ) - IFNULL(gq.total_in_work_suspend_seconds, 0)) / 3600) AS wxgs
|
|
|
- FROM
|
|
|
- gxt_repair_order_person rop
|
|
|
- LEFT JOIN gxt_repair_order ro ON rop.order_id = ro.id
|
|
|
- LEFT JOIN gxt_repair_order_flow_records_next gq ON gq.order_id = rop.order_id
|
|
|
- WHERE
|
|
|
- ro.repair_method!='2' AND ro.work_order_status IN ('completed','archived')
|
|
|
- AND ro.occur_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
|
|
|
- AND ro.occur_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
|
|
|
- GROUP BY
|
|
|
- rop.user_id
|
|
|
- ) j ON u.user_id = j.user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- rop.user_id,
|
|
|
- SUM( TIMESTAMPDIFF( SECOND, ro.accept_time, ro.real_start_time ) / 3600 ) + SUM( TIMESTAMPDIFF( SECOND, ro.real_start_time, ro.real_end_time ) / 3600 ) AS wxgs_last
|
|
|
- FROM
|
|
|
- gxt_repair_order_person rop
|
|
|
- LEFT JOIN gxt_repair_order ro ON rop.order_id = ro.id
|
|
|
- LEFT JOIN ( SELECT MIN( action_time ) AS accept_time, order_id FROM gxt_repair_order_flow WHERE action_type = 'accept' GROUP BY order_id ) e ON ro.id = e.order_id
|
|
|
- LEFT JOIN ( SELECT MIN( action_time ) AS process_time, order_id FROM gxt_repair_order_flow WHERE action_type = 'process' GROUP BY order_id ) f ON ro.id = f.order_id
|
|
|
- LEFT JOIN ( SELECT MAX( action_time ) AS complete_time, order_id FROM gxt_repair_order_flow WHERE action_type = 'complete' GROUP BY order_id ) g ON ro.id = g.order_id
|
|
|
- WHERE
|
|
|
- ro.occur_time >= DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL - 1 MONTH )
|
|
|
- AND ro.occur_time <![CDATA[<]]> STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
|
|
|
- GROUP BY
|
|
|
- rop.user_id
|
|
|
- ) k ON u.user_id = k.user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- wop.user_id,
|
|
|
- SUM((TIMESTAMPDIFF( SECOND, wo.real_start_time, wo.real_end_time ) - IFNULL(gq.total_in_work_suspend_seconds, 0)) / 3600) AS wbgs
|
|
|
- FROM
|
|
|
- gxt_work_order_person wop
|
|
|
- LEFT JOIN gxt_work_order wo ON wop.order_id = wo.id
|
|
|
- LEFT JOIN gxt_work_order_flow_records_next gq ON gq.order_id = wop.order_id
|
|
|
- WHERE
|
|
|
- wo.work_order_status IN ('completed','archived')
|
|
|
- AND wo.create_time >= STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
|
|
|
- AND wo.create_time <![CDATA[<]]> DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL 1 MONTH )
|
|
|
- GROUP BY
|
|
|
- wop.user_id
|
|
|
- ) l ON u.user_id = l.user_id
|
|
|
- LEFT JOIN (
|
|
|
- SELECT
|
|
|
- wop.user_id,
|
|
|
- SUM( TIMESTAMPDIFF( SECOND, h.process_time, i.complete_time ) / 3600 ) AS wbgs_last
|
|
|
- FROM
|
|
|
- gxt_work_order_person wop
|
|
|
- LEFT JOIN gxt_work_order wo ON wop.order_id = wo.id
|
|
|
- LEFT JOIN ( SELECT MIN( action_time ) AS process_time, order_id FROM gxt_work_order_flow WHERE action_type = 'process' GROUP BY order_id ) h ON wo.id = h.order_id
|
|
|
- LEFT JOIN ( SELECT MIN( action_time ) AS complete_time, order_id FROM gxt_work_order_flow WHERE action_type = 'complete' GROUP BY order_id ) i ON wo.id = i.order_id
|
|
|
- WHERE
|
|
|
- wo.create_time >= DATE_ADD( STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' ), INTERVAL - 1 MONTH )
|
|
|
- AND wo.create_time <![CDATA[<]]> STR_TO_DATE( CONCAT( #{monthPeriod}, '-01 00:00:00' ), '%Y-%m-%d %H:%i:%s' )
|
|
|
- GROUP BY
|
|
|
- wop.user_id
|
|
|
- ) m ON u.user_id = m.user_id
|
|
|
LEFT JOIN (
|
|
|
SELECT
|
|
|
SUM( us.final_score ) AS score,
|