SELECT c.itemPackingTypeFk code,
        tc.collectionFk,
        SUBSTRING('ABCDEFGH', tc.wagon, 1) wagon,
        tc.`level`,
        t.id ticketFk,
        COALESCE(et.description, zo.name, am.name) agencyDescription,
        cc.code color,
        t.clientFk,
        CAST(SUM(sv.volume) AS DECIMAL(5, 2)) volume,
        MAX(
            IF(sgd.id, IFNULL(pc.itemPreviousDefaultSize, i.`size`), i.`size`)
        ) `size`,
        w.code workerCode,
        TIME_FORMAT(t.shipped, '%H:%i') shippedHour,
        TIME_FORMAT(zo.`hour`, '%H:%i') zoneHour,
        DATE_FORMAT(t.shipped, '%d/%m/%y') shipped,
        tt.labelCount,
        t.nickName,
        SUM(IF(sgd.id IS NULL, 1, 0)) + IF(sgd.id , 1, 0) lineCount,
        rm.routeFk,
        pc.scannableCodeType
    FROM vn.ticket t
        JOIN vn.ticketCollection tc ON tc.ticketFk = t.id
        JOIN vn.collection c ON c.id = tc.collectionFk
        LEFT JOIN vn.collectionColors cc ON cc.shelve = tc.`level`
            AND cc.wagon = tc.wagon
            AND cc.trainFk = c.trainFk
        JOIN vn.sale s ON s.ticketFk = t.id
        LEFT JOIN vn.saleVolume sv ON sv.saleFk = s.id
        JOIN vn.item i ON i.id = s.itemFk
        JOIN vn.itemType it ON it.id = i.typeFk
        JOIN vn.itemCategory ic ON ic.id = it.categoryFk
        JOIN vn.worker w ON w.id = c.workerFk
        JOIN vn.agencyMode am ON am.id = t.agencyModeFk
        LEFT JOIN vn.ticketTrolley tt ON tt.ticket = t.id
        LEFT JOIN vn.`zone` zo ON t.zoneFk = zo.id
        LEFT JOIN vn.routesMonitor rm ON rm.routeFk = t.routeFk
        LEFT JOIN vn.expeditionTruck et ON et.id = rm.expeditionTruckFk
        LEFT JOIN vn.saleGroupDetail sgd ON sgd.saleFk = s.id
        JOIN vn.productionConfig pc
    WHERE t.id IN (?)
    GROUP BY t.id
    ORDER BY cc.`code`