{% extends "erp_base.html" %} {% block head_extra %}{% endblock %} {% block content %} {# 출고 묶음 보기 — 박스 계산 화면과 같은 3열 구성. 읽기 전용(수정 없음). #}
◀◀ 달력 {{ shipment.status }}

① 품목

{{ items|length }}종 · {{ total_qty }}개
{% for it in items %} {% endfor %} {% if not items %} {% endif %}
제품명수량
{{ it.product_name }} {{ it.quantity }}
품목이 없습니다.

② 박스 요약

확정 당시 수량 기준으로 다시 계산한 값
총 박스 {{ calc.grand_total_boxes }}박스 제품별 + 혼합
출고 {{ shipment.outbound_summary or '—' }} 확정 시 기록
총 수량 {{ total_qty }}개 {{ items|length }}종

제품별 박스

{% for r in calc.results if r.configured %}
{{ r.product_name }}
{{ r.full_boxes }}박스 {{ r.quantity }}개 · 입수량 {{ r.units_per_box }} {% if r.remainder_units %} 자투리 {{ r.remainder_units }}개 {% else %} 딱 맞음 {% endif %}
{% endfor %} {% set unconfigured = calc.results | rejectattr('configured') | list %} {% if unconfigured %}

박스 입수량 미설정: {% for r in unconfigured %}{{ r.product_name }}{% if not loop.last %}, {% endif %}{% endfor %}

{% endif %}

자투리 혼합 박스 {% if not calc.mixes %}— 자투리 없음{% else %}— 1장 = 1박스{% endif %}

{% for m in calc.mixes %} {% for b in m.boxes %}
{{ m.box_name }} 혼합 #{{ loop.index }}
    {% for it in b['items'] %}
  • {{ it.product_name }}{{ it.quantity }}개
  • {% endfor %}
{{ b.fill_percent }}% 채움
{% endfor %} {% endfor %}

③ 센터

출고 #{{ shipment.id }}
{{ shipment.center_name_snapshot or '센터 미지정' }} {{ shipment.ship_method }} {{ calc.grand_total_boxes }}박스 {{ total_qty }}개
    {% for it in items %}
  • {{ it.product_name }} {{ it.quantity }}개
  • {% endfor %}
작성일
{{ shipment.document_date }}
출고일
{{ shipment.ship_date }}
센터입고일
{{ shipment.center_arrival_date }}
작업자
{{ shipment.worker or '—' }}
{% if shipment.memo %}
메모
{{ shipment.memo }}
{% endif %}
{% endblock %}