SELECT ppi.quantity, pos.unit_price, (ppi.quantity * IFNULL(pos.unit_price, 0)) as calculated_cost, ppi.unit as unit, ppm.product_order_id, ppm.reporting_time as log_date, po.nps_no as order_no, pm_mat.product_name as material_name, pms_mat.model as material_model, po.strength as strength, sdd_type.dict_label as category_label FROM production_product_input ppi JOIN production_product_main ppm ON ppi.product_main_id = ppm.id JOIN product_order po ON ppm.product_order_id = po.id LEFT JOIN production_order_route pr ON po.route_id = pr.id LEFT JOIN sys_dict_data sdd_type ON pr.dict_code = sdd_type.dict_code LEFT JOIN production_order_structure pos ON ppm.product_order_id = pos.order_id AND ppi.product_id = pos.product_model_id AND ppi.bom_id = pos.bom_id LEFT JOIN product_material_sku pms_mat ON ppi.product_id = pms_mat.id LEFT JOIN product_material pm_mat ON pms_mat.product_id = pm_mat.id AND ppm.reporting_time >= #{dto.startDate} AND ppm.reporting_time < #{dto.endDate} AND pr.dict_code = #{dto.dictCode} AND ppm.product_order_id = #{dto.productOrderId}