const{PageHeader,Card,Button,DataTable,StatusBadge,StatCard,Select}=window.RemedeStockDesignSystem_3e957a,RpIcon=window.REMEDE.Icon;function Reports(){const{fmt:t}=window.REMEDE,[a,m]=React.useState("forecast"),[s,u]=React.useState(3),{data:l,loading:v,error:c,reload:h}=window.REMEDE.useAsyncData(async()=>{const[e,o,E]=await Promise.all([window.REMEDE.getForecast(s,2),window.REMEDE.getIssues(),window.REMEDE.getReceivings()]);return{forecast:e,issues:o,receivings:E}},{initial:{forecast:null,issues:[],receivings:[]},deps:[s],errorMessage:"โหลดรายงานไม่สำเร็จ"}),n=l.forecast,i=l.issues,d=l.receivings;window.REMEDE.useLucide([a,n,i,d,v,c]);const p=window.REMEDE.coverStatus,f=()=>window.REMEDE.downloadCSV("forecast_reorder.csv",[{header:"รายการ",key:"name"},{header:"หมวด",key:"cat"},{header:"หน่วย",key:"unit"},{header:"คงเหลือ",key:"stock"},{header:"เบิกรวม("+(n?n.period_months:s)+"ด.)",key:"issued_total"},{header:"เฉลี่ย/เดือน",key:"avg_monthly"},{header:"พอใช้(เดือน)",value:e=>e.cover_months==null?"":e.cover_months},{header:"แนะนำสั่งซื้อ",key:"suggest_order"},{header:"ผู้จำหน่าย",key:"supplier"}],n?n.items:[]),x=()=>window.REMEDE.downloadCSV("stock_issues.csv",[{header:"วันที่",key:"date"},{header:"รายการ",key:"name"},{header:"จำนวน",key:"qty"},{header:"วัตถุประสงค์",key:"purpose"},{header:"ผู้เบิก",key:"by"}],i),k=()=>window.REMEDE.downloadCSV("stock_receivings.csv",[{header:"วันที่",key:"date"},{header:"รายการ",key:"name"},{header:"จำนวน",key:"qty"},{header:"ต้นทุน/หน่วย",key:"unitCost"},{header:"ล็อต",key:"lot"},{header:"หมดอายุ",key:"exp"},{header:"ผู้จำหน่าย",key:"supplier"},{header:"ผู้รับเข้า",key:"by"}],d),y=React.createElement(PageHeader,{eyebrow:"ผู้บริหาร/คลัง · รายงาน",title:"รายงาน & คาดการณ์สั่งซื้อ",description:"สรุปการเบิกใช้และรับเข้า พร้อมค่าเฉลี่ยการใช้รายเดือนเพื่อวางแผนสั่งซื้อ — ดาวน์โหลดเป็น Excel ได้",actions:React.createElement(Button,{variant:"ghost",iconLeft:React.createElement(RpIcon,{n:"rotate-ccw",s:16}),onClick:h},"รีเฟรช")});if(v)return React.createElement("div",{style:{maxWidth:"var(--content-max)"}},y,React.createElement(Card,{padding:"md",style:{marginTop:"var(--space-6)"}},React.createElement(window.REMEDE.LoadingState,null)));if(c)return React.createElement("div",{style:{maxWidth:"var(--content-max)"}},y,React.createElement(Card,{padding:"md",style:{marginTop:"var(--space-6)"}},React.createElement(window.REMEDE.ErrorState,{message:c,onRetry:h})));const r=n||{},g=r.by_month||[],w=Math.max(1,...g.map(e=>Number(e.qty)||0));return React.createElement("div",{style:{maxWidth:"var(--content-max)"}},y,React.createElement("div",{style:{display:"flex",gap:6,margin:"var(--space-6) 0 var(--space-5)",flexWrap:"wrap"}},[["forecast","คาดการณ์สั่งซื้อ"],["issues","ประวัติการเบิกใช้"],["receivings","ประวัติการรับเข้า"]].map(([e,o])=>React.createElement("button",{key:e,onClick:()=>m(e),style:{padding:"9px 16px",borderRadius:"var(--radius-md)",fontFamily:"var(--font-ui)",fontSize:"var(--text-sm)",cursor:"pointer",border:"1px solid "+(a===e?"var(--navy-600)":"var(--border-default)"),background:a===e?"var(--navy-600)":"var(--surface-card)",color:a===e?"#fff":"var(--text-body)",fontWeight:a===e?600:400}},o))),a==="forecast"?React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:"var(--space-4)",marginBottom:"var(--space-5)"}},React.createElement(StatCard,{label:"รายการที่ควรสั่งซื้อ",value:t(r.need_order||0),unit:"/ "+t(r.total_items||0),tone:"gold",icon:React.createElement(RpIcon,{n:"shopping-cart",s:18})}),React.createElement(StatCard,{label:"เฉลี่ยจากข้อมูลย้อนหลัง",value:t(r.period_months||s),unit:"เดือน",icon:React.createElement(RpIcon,{n:"calendar-range",s:18})}),React.createElement(StatCard,{label:"เป้าหมายมี stock พอใช้",value:t(r.target_cover||2),unit:"เดือน",icon:React.createElement(RpIcon,{n:"target",s:18})})),React.createElement(Card,{padding:"md",style:{marginBottom:"var(--space-5)"}},React.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:14}},React.createElement("h3",{style:{fontSize:"var(--text-lg)",fontWeight:600}},"ปริมาณการเบิกใช้รายเดือน"),React.createElement(Select,{value:String(s),onChange:e=>u(Number(e.target.value)),options:[{value:"1",label:"เฉลี่ย 1 เดือน"},{value:"3",label:"เฉลี่ย 3 เดือน"},{value:"6",label:"เฉลี่ย 6 เดือน"}],style:{width:170}})),g.length===0?React.createElement("div",{style:{padding:24,textAlign:"center",color:"var(--text-subtle)",fontSize:"var(--text-sm)"}},"ยังไม่มีข้อมูลการเบิกใช้ — เริ่มบันทึกการเบิกเพื่อดูเทรนด์และคาดการณ์"):React.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,height:140,padding:"8px 4px"}},g.map(e=>React.createElement("div",{key:e.ym,style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",gap:6}},React.createElement("div",{style:{fontSize:"var(--text-xs)",fontFamily:"var(--font-mono)",color:"var(--text-strong)",fontWeight:600}},t(e.qty)),React.createElement("div",{style:{width:"100%",maxWidth:46,height:Math.round(Number(e.qty)/w*100)+8,background:"var(--navy-500)",borderRadius:"4px 4px 0 0"}}),React.createElement("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-subtle)"}},e.ym))))),React.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12}},React.createElement("h3",{style:{fontSize:"var(--text-lg)",fontWeight:600}},"คาดการณ์การสั่งซื้อรายรายการ"),React.createElement(Button,{variant:"secondary",size:"sm",iconLeft:React.createElement(RpIcon,{n:"download",s:16}),onClick:f},"ดาวน์โหลด Excel")),React.createElement(DataTable,{columns:[{key:"name",header:"รายการ",render:e=>React.createElement("div",null,React.createElement("div",{style:{fontWeight:500,color:"var(--text-strong)"}},e.name),React.createElement("div",{style:{fontSize:"var(--text-xs)",color:"var(--text-subtle)"}},e.cat))},{key:"stock",header:"คงเหลือ",align:"right",mono:!0,render:e=>`${t(e.stock)} ${e.unit}`},{key:"avg_monthly",header:"เบิกเฉลี่ย/เดือน",align:"right",mono:!0,render:e=>t(e.avg_monthly)},{key:"cover_months",header:"พอใช้อีก",align:"right",mono:!0,render:e=>e.cover_months==null?"—":e.cover_months+" เดือน"},{key:"status",header:"สถานะ",render:e=>{const o=p(e.cover_months);return React.createElement(StatusBadge,{tone:o.tone},o.label)}},{key:"suggest_order",header:"แนะนำสั่งซื้อ",align:"right",mono:!0,render:e=>e.suggest_order>0?React.createElement("span",{style:{fontWeight:600,color:"var(--gold-700)"}},t(e.suggest_order)," ",e.unit):"—"}],rows:r.items||[],empty:"ยังไม่มีข้อมูล"})):a==="issues"?React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12}},React.createElement("h3",{style:{fontSize:"var(--text-lg)",fontWeight:600}},"ประวัติการเบิกใช้ (",t(i.length)," รายการ)"),React.createElement(Button,{variant:"secondary",size:"sm",iconLeft:React.createElement(RpIcon,{n:"download",s:16}),onClick:x,disabled:i.length===0},"ดาวน์โหลด Excel")),React.createElement(DataTable,{columns:[{key:"date",header:"วันที่ / เวลา"},{key:"name",header:"รายการ"},{key:"qty",header:"จำนวน",align:"right",mono:!0,render:e=>`-${e.qty}`},{key:"purpose",header:"วัตถุประสงค์",wrap:!0},{key:"by",header:"ผู้เบิก"}],rows:i,empty:"ยังไม่มีประวัติการเบิกใช้"})):React.createElement(React.Fragment,null,React.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:12}},React.createElement("h3",{style:{fontSize:"var(--text-lg)",fontWeight:600}},"ประวัติการรับเข้า (",t(d.length)," รายการ)"),React.createElement(Button,{variant:"secondary",size:"sm",iconLeft:React.createElement(RpIcon,{n:"download",s:16}),onClick:k,disabled:d.length===0},"ดาวน์โหลด Excel")),React.createElement(DataTable,{columns:[{key:"date",header:"วันที่"},{key:"name",header:"รายการ"},{key:"qty",header:"จำนวน",align:"right",mono:!0,render:e=>`+${e.qty}`},{key:"cost",header:"ต้นทุน/หน่วย",align:"right",mono:!0},{key:"lot",header:"ล็อต",mono:!0},{key:"supplier",header:"ผู้จำหน่าย"},{key:"by",header:"ผู้รับเข้า"}],rows:d,empty:"ยังไม่มีประวัติการรับเข้า"})))}window.Reports=Reports;
