Creating print formats using Jinja

I have 3 purchase receipts against 1 purchase order.
Iam getting below values for all 3 purchase receipts.
Screenshot from 2024-06-24 17-26-49

But i want to print first 2 lines for purchase receipt-1 ,
next 2 lines for purchase receipt-2 ,
last 2 lines for purchase receipt-3.

Code::

{%- set total_received_qty = {} -%}

{%- for row in doc.items -%}
    {%- set item_code = row.item_code -%}
    {%- set _ = total_received_qty.update({item_code: 0}) -%}
    
    {%- set purchase_receipt_items = frappe.get_all("Purchase Receipt Item", filters={"parenttype": "Purchase Receipt", "item_code": item_code, "purchase_order": row.purchase_order}, fields=["qty"]) -%}
    
    {% set po = frappe.get_doc("Purchase Order", row.purchase_order) %}
    {%- for poi in po.items if row.item_code == poi.item_code -%}
    
    {%- for pr in purchase_receipt_items -%}
        {%- set _ = total_received_qty.update({item_code: total_received_qty[item_code] + pr.qty}) -%}
        {%- set remaining_qty = poi.qty - total_received_qty[item_code] %}
        <p style="padding: 10px;"><b>Total Received Quantity :</b> {{ total_received_qty[item_code] }}</p>
        <p style="padding: 10px;"><b>Remaining Quantity :</b> {{ remaining_qty }}</p>
    {%- endfor %}
    {%- endfor %}
{%- endfor %}

Help me to do this.
Any ideas are highly appreciable.
Thanks in advance.

Try it.

{%- set purchase_receipts = {} -%}

{%- for row in doc.items -%}
    {%- set item_code = row.item_code -%}
    {%- set purchase_receipt_items = frappe.get_all("Purchase Receipt Item", filters={"parenttype": "Purchase Receipt", "item_code": item_code, "purchase_order": row.purchase_order}, fields=["qty", "parent"]) -%}

    {%- for pr_item in purchase_receipt_items -%}
        {%- set pr_name = pr_item.parent -%}
        {%- if pr_name not in purchase_receipts -%}
            {%- set _ = purchase_receipts.update({pr_name: []}) -%}
        {%- endif -%}
        {%- set _ = purchase_receipts[pr_name].append(pr_item) -%}
    {%- endfor -%}
{%- endfor -%}

{%- for pr_name, items in purchase_receipts.items() -%}
    <h2>Purchase Receipt: {{ pr_name }}</h2>
    {%- for pr_item in items -%}
        {%- set po = frappe.get_doc("Purchase Order", row.purchase_order) %}
        {%- for poi in po.items if pr_item.item_code == poi.item_code -%}
            {%- set total_received_qty = sum(i.qty for i in items if i.item_code == pr_item.item_code) -%}
            {%- set remaining_qty = poi.qty - total_received_qty -%}
            <p style="padding: 10px;"><b>Item Code:</b> {{ pr_item.item_code }}</p>
            <p style="padding: 10px;"><b>Quantity:</b> {{ pr_item.qty }}</p>
            <p style="padding: 10px;"><b>Total Received Quantity:</b> {{ total_received_qty }}</p>
            <p style="padding: 10px;"><b>Remaining Quantity:</b> {{ remaining_qty }}</p>
        {%- endfor -%}
    {%- endfor -%}
{%- endfor -%}

@NCP Thank you for your fast reply.

Screenshot from 2024-06-24 17-45-26

Getting these for all three documents.

Thank you all !
I got a solution.

Please share the solution code, so helpful for someone.

Okay @NCP Sir.

I simply compare the document names.

                        {%- set total_received_qty = {} -%}
                        {%- set item_code = row.item_code -%}
                        {% set _ = total_received_qty.update({item_code: 0}) %}
                        
                        {%- set purchase_receipt_items = frappe.get_all("Purchase Receipt Item", filters={"parenttype": "Purchase Receipt", "item_code": item_code, "purchase_order": row.purchase_order}, fields=["qty","parent"]) -%}
                        
                        {% set po = frappe.get_doc("Purchase Order", row.purchase_order) %}
                        
                        {% if doc.docstatus==1 %}
                        {%- for poi in po.items if row.item_code == poi.item_code -%}
                            {%- for pr in purchase_receipt_items -%}
                                {% set purchase_receipt = frappe.get_doc("Purchase Receipt", pr.parent) %}
                                {% set pr_number = purchase_receipt.name %}

                                {% if pr_number < doc.name %}
                                    {% set document_status = frappe.db.get_value('Purchase Receipt', pr_number, 'docstatus') %}
                                    {% if document_status == 1 %}
                                        {% set _ = total_received_qty.update({item_code: total_received_qty[item_code] + pr.qty}) %}
                                    {% endif %}
                                {% else %}
                                    {% set document_status = frappe.db.get_value('Purchase Receipt', pr_number, 'docstatus') %}
                                        {% if document_status == 1 %}
                                            {% set _ = total_received_qty.update({item_code: row.received_qty}) %}
                                        {% endif %}
                                {% endif %}
                            {%- endfor %}
                            
                            {%- set remaining_qty = poi.qty - total_received_qty[item_code] %}

                            {% if not doc.is_return %}<td style="text-align:right">{{ remaining_qty }}</td>{% endif %}
                        {%- endfor %}
                        
                        {% else %}
                        {%- set quantity = poi.qty -%}
                        {%- set purchase_receipt_items = frappe.get_all("Purchase Receipt Item", filters={"parenttype": "Purchase Receipt", "item_code": item_code, "purchase_order": row.purchase_order,"docstatus":1}, fields=["qty","parent"]) -%}
                        {%- set qty = purchase_receipt_items[0]['qty'] if purchase_receipt_items else 0 -%}
                        
                        {%- set quantity = quantity - qty -%}
                        
                        {% if not doc.is_return %}<td style="text-align:right">{{ quantity }}</td>{% endif %}
                        
                        
                        {% endif %}