<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet id="1" author="cgorman">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE direct_delivery;;

            DROP PROCEDURE IF EXISTS sp_get_dms_has_encoded_jobs;;

            CREATE DEFINER='theorchard_dd'@'127.0.0.1' PROCEDURE sp_get_dms_has_encoded_jobs(IN dms_id INT)
            BEGIN
                SELECT eqd.dms_master_master_id, dds.order_type, COUNT(eqd.encoding_queue_detail_id) AS encoded_jobs, MIN(jp.priority) AS highest_priority
                FROM encoding_queue_detail eqd
                INNER JOIN encoding_queue eq ON eqd.encoding_queue_id = eq.encoding_queue_id
                INNER JOIN dms_delivery_spec dds ON dds.dms_master_master_id = eqd.dms_master_master_id AND dds.order_type = eq.encoding_order_type
                INNER JOIN job_priority jp ON eqd.encoding_queue_detail_id = jp.encoding_queue_detail_id
                WHERE eqd.status = 'encoded' 
                    AND eq.encoder_id IN (17,18)
                    AND dds.delivery = 'Y'
                    AND dds.batch_delivery = 'Y'
                    AND eqd.dms_master_master_id = dms_id
                GROUP BY dds.order_type;
            END;;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                USE direct_delivery;;

                DROP PROCEDURE IF EXISTS sp_get_dms_has_encoded_jobs;;

                CREATE DEFINER='theorchard_dd'@'127.0.0.1' PROCEDURE sp_get_dms_has_encoded_jobs(IN dms_id INT)
                BEGIN
                    SELECT eqd.dms_master_master_id, dds.order_type, COUNT(eqd.encoding_queue_detail_id) AS encoded_jobs, MIN(eq.priority) AS highest_priority
                    FROM encoding_queue_detail eqd
                    INNER JOIN encoding_queue eq ON eqd.encoding_queue_id = eq.encoding_queue_id
                    INNER JOIN dms_delivery_spec dds ON dds.dms_master_master_id = eqd.dms_master_master_id AND dds.order_type = eq.encoding_order_type
                    WHERE eqd.status = 'encoded'
                        AND eq.encoder_id IN (17,18)
                        AND dds.delivery = 'Y'
                        AND dds.batch_delivery = 'Y'
                        AND eqd.dms_master_master_id = dms_id
                    GROUP BY dds.order_type;
                END;;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
