SELECT t.LAY_NO FROM tos_ship_map t WHERE t.SHIP_COD = #{shipCod} AND t.DECK_ID= #{deck} AND T.bay_no= #{bayNo} GROUP BY t.LAY_NO order by t.lay_no desc
SELECT t.ROW_NO FROM tos_ship_map t WHERE t.SHIP_COD = #{shipCod} AND t.DECK_ID= #{deck} AND T.bay_no= #{bayNo} and T.lay_no= #{layNo} GROUP BY t.ROW_NO
select v.*,tmp.startTime,tmp.taskNo from vehicle v inner join
(select distinct vto.vin,vto.start_time as startTime,vto.task_no as taskNo from vms_tos_orders vto inner join vms_crane_pad_bind cpb on vto.port_code = cpb.crane_no
where cpb.pad_mac = #{padMac}) tmp on tmp.vin = v.vin
SUM( CASE WHEN (task_type = 2 and vehicle_task_label = 1) THEN container_num END ) AS loadContainerNum,
SUM( CASE WHEN (task_type = 1 and vehicle_task_label = 2) THEN container_num END ) AS unloadContainerNum,
SUM( CASE WHEN (task_type = 1 and vehicle_task_label = 3) THEN container_num END ) AS handleContainerNum,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 1 ) THEN TIMESTAMPDIFF( MINUTE, start_time, end_time ) END ) / SUM( CASE WHEN ( task_type = 2 AND vehicle_task_label = 1 ) THEN container_num END ),
2
) AS loadContainerAvgTime,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 2 ) THEN TIMESTAMPDIFF( MINUTE, start_time, end_time ) END ) / SUM( CASE WHEN ( task_type = 1 AND vehicle_task_label = 2 ) THEN container_num END ),
2
) AS unloadContainerAvgTime,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 3 ) THEN TIMESTAMPDIFF( MINUTE, start_time, end_time ) END ) / SUM( CASE WHEN ( task_type = 1 AND vehicle_task_label = 3 ) THEN container_num END ),
SUM( CASE WHEN (task_type = 2 and vehicle_task_label = 1) THEN container_num END ) AS loadContainerNum,
SUM( CASE WHEN (task_type = 1 and vehicle_task_label = 2) THEN container_num END ) AS unloadContainerNum,
SUM( CASE WHEN (task_type = 1 and vehicle_task_label = 3) THEN container_num END ) AS handleContainerNum,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 1 ) THEN TIMESTAMPDIFF( SECOND, start_time, end_time ) END ) / 60 / SUM( CASE WHEN ( task_type = 2 AND vehicle_task_label = 1 ) THEN container_num END ),
2
) AS loadContainerAvgTime,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 2 ) THEN TIMESTAMPDIFF( SECOND, start_time, end_time ) END ) / 60 / SUM( CASE WHEN ( task_type = 1 AND vehicle_task_label = 2 ) THEN container_num END ),
2
) AS unloadContainerAvgTime,
ROUND(
SUM( CASE WHEN ( vehicle_task_label = 3 ) THEN TIMESTAMPDIFF( SECOND, start_time, end_time ) END ) / 60 / SUM( CASE WHEN ( task_type = 1 AND vehicle_task_label = 3 ) THEN container_num END ),
2
) AS handleContainerAvgTime
FROM
`vms_tos_orders`
WHERE
collect_time >= #{startTimeStamp}
AND
start_time >= #{startTime}
AND
start_time <= #{endTime}
AND
deleted = 0
AND
(task_location_type = 1 OR task_location_type = 5)
AND
(status=3 OR status=49 OR status=38 OR status=39 OR status=37)
vto.*, case when vvri.taskNo is null then 0 else 1 end appControl
FROM
(
SELECT t1.*,t2.start_time,t2.end_time,t2.update_time,t2.task_no_mapping,t2.task_source,t2.container_num FROM vms_tos_original_orders t1
LEFT JOIN (select vin,status,task_no,start_time,end_time,update_time,task_no_mapping,task_source,container_num from vms_tos_orders GROUP BY task_no,vin) t2
ON t2.task_no = t1.task_no AND t1.vin = t2.vin
<where>
<iftest="ordersVo.taskType != null">
and t1.task_type = #{ordersVo.taskType}
</if>
<iftest="ordersVo.status != null">
and t2.status = #{ordersVo.status}
</if>
<iftest="ordersVo.taskNo != null and ordersVo.taskNo != ''">
and t1.task_no like concat('%',#{ordersVo.taskNo},'%')
</if>
<iftest="ordersVo.vin != null and ordersVo.vin != ''">