buhuazhen
2 天以前 6ad46dfcc294db8b18cfee343ce9b32c053c02bc
src/main/resources/mapper/production/SalesLedgerProductionAccountingMapper.xml
@@ -52,24 +52,45 @@
    </select>
    <select id="pageProductionAccounting"
            resultType="com.ruoyi.production.dto.SalesLedgerProductionAccountingDto">
        SELECT
        slpa.scheduling_user_id,
        slpa.scheduling_user_name,
        sum(ppout.quantity) as output_num,
        sum(slpa.finished_num * work_hours) as wages,
        MIN(slpa.scheduling_user_name) AS scheduling_user_name,
        SUM(ppout.quantity) AS output_num,
        SUM(slpa.finished_num * slpa.work_hours) AS wages,
        CONCAT(
        ROUND(
        CASE
        WHEN SUM(ppout.quantity) = 0 OR SUM(ppout.quantity) IS NULL THEN 0
        ELSE SUM(slpa.finished_num) * 100.0 / SUM(ppout.quantity)
        END,
        2
        END, 2
        ),
        '%'
        ) as output_rate
        ) AS output_rate,
        GROUP_CONCAT(
        CONCAT(
        IFNULL(
        TIMESTAMPDIFF(MINUTE, ppm.start_time, ppm.end_time),
        0
        ),
        '|$|',
        IFNULL(ppm.device_name, '未知机台')
        )
        ORDER BY ppm.start_time
        SEPARATOR '>>>'
        ) AS device_work_info
        FROM sales_ledger_production_accounting slpa
        LEFT JOIN production_product_main ppm ON slpa.product_main_id = ppm.id
        LEFT JOIN production_product_output ppout ON ppm.id = ppout.product_main_id
        LEFT JOIN production_product_main ppm
        ON slpa.product_main_id = ppm.id
        LEFT JOIN production_product_output ppout
        ON ppm.id = ppout.product_main_id
        <where>
            <if test="ew.schedulingUserName != null and ew.schedulingUserName !=''">
                and slpa.scheduling_user_name = #{ew.schedulingUserName}
@@ -84,7 +105,7 @@
            </if>
        </where>
        GROUP BY slpa.scheduling_user_name
        GROUP BY slpa.scheduling_user_id
    </select>