1"use strict";(self.webpackChunkmyklopos=self.webpackChunkmyklopos||[]).push([[14203],{74214(e,a,t){t.d(a,{AP:()=>n,PT:()=>o,UF:()=>l});var r=t(28584),s=t(69622);const n=e=>a=>(a({type:"ANALISA_SALES::GET_REQUEST",isFetching:!0,status:!1,message:""}),r.gPh(e).then(e=>{var t,r;e.status||a((t=e.status,r=e.msg,{type:"ANALISA_SALES::GET_FAILURE",isFetching:!1,status:t,message:r})),a(((e,a,t)=>({type:"ANALISA_SALES::GET_SUCCESS",isFetching:!1,status:e,message:a,payload:t}))(e.status,e.msg,e))})),o=e=>a=>(a({type:"REPORT_DEVICE_SALES::GET_REQUEST",isFetching:!0,status:!1,message:""}),r.Dr8(e).then(e=>{var t,r;e.status||a((t=e.status,r=e.msg,{type:"REPORT_DEVICE_SALES::GET_FAILURE",isFetching:!1,status:t,message:r})),a(((e,a,t)=>({type:"REPORT_DEVICE_SALES::GET_SUCCESS",isFetching:!1,status:e,message:a,payload:t}))(e.status,e.msg,(0,s.Ms)(e)))})),l=e=>a=>(a({type:"REPORT_JASA::GET_REQUEST",isFetching:!0,status:!1,message:""}),r.iMF(e).then(e=>{var t,r;e.status||a((t=e.status,r=e.msg,{type:"REPORT_JASA::GET_FAILURE",isFetching:!1,status:t,message:r})),a(((e,a,t)=>({type:"REPORT_JASA::GET_SUCCESS",isFetching:!1,status:e,message:a,payload:t}))(e.status,e.msg,e.data?e.data:[]))}))},26328(e,a,t){t.d(a,{V:()=>s,a:()=>n});var r=t(60836);const s=(e,a)=>{const t=a||e.split("?")[0].substring(e.lastIndexOf("/")+1),s=(0,r.v)(e);return fetch(s).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.blob().then(e=>{const a=window.URL.createObjectURL(e),r=document.createElement("a");r.href=a,r.download=t,r.click()})}).catch(()=>{window.open(e,"_blank","noopener")})},n=e=>{const a=e||"User.png";return"string"==typeof a&&"null"===a?"User.png":a}},47427(e,a,t){t.r(a),t.d(a,{default:()=>x});var r=t(31126),s=t.n(r),n=t(96540),o=t(5556),l=t.n(o),i=t(95093),c=t.n(i),d=t(69733),u=t(79933),m=t(64563),p=t(52893),g=t(87111),h=t(73587),y=t(79182),b=t(32389),_=t(33031),f=t.n(_);const E=(e=[],a=0,t=10)=>
1{const[r,s]=(0,n.useState)(e),[o,l]=(0,n.useState)([]),[i,c]=(0,n.useState)(a),[d,u]=(0,n.useState)(t),[m,p]=(0,n.useState)(""),[g,h]=(0,n.useState)(""),y=()=>r.slice(i*d,(i+1)*d);return(0,n.useEffect)(()=>{0!==i&&c(0),s(e)},[e]),(0,n.useEffect)(()=>{l(y())},[r]),(0,n.useEffect)(()=>{l(y())},[i,d]),(0,n.useEffect)(()=>{(()=>{if(r.length>0)if(""!==m){let e;e="ASC"===g?f()(r,e=>{const a=e[m];return parseFloat(a)?parseFloat(a):a}):r.slice().reverse(),s(e)}else s(e)})()},[m,g]),{page:i,setPage:c,pageLimit:d,setPageLimit:u,slicedList:o,setSortAccessor:p,setSortDirection:h}};var v=t(73508),S=t(83109),A=t(82046),D=t(74214),T=t(55394),w=t(28584),L=t(55322),P=t(85582),M=t(74845),R=t(83244),C=t(29678),F=t(26328),K=t(81770),k=t(91345);const Y=({showProgress:e,hideProgress:a,filterBranch:t,addNotification:r,fetchReport:o,report:l,calendar:i,assignCalendar:d})=>{const{t:_,ready:f}=(0,b.Bd)(["Penjualan/AnalisaLaporan/transactionTime","translation"]),D=(0,A.U)("(max-width: 1024px)"),[R,Y]=(0,n.useState)([c()(i.start,"DD-MM-YYYY").toDate(),c()(i.end,"DD-MM-YYYY").toDate()]),[x,j]=(0,n.useState)(!1),[O,I]=(0,n.useState)({period:"day",periodName:"Hari",initChart:[],chartData:[],chartLegend:v.gw}),[N,U]=(0,n.useState)({tableData:[],tableSummary:v.lu}),$=15e3,{page:H,setPage:G,setPageLimit:J,slicedList:W,setSortAccessor:B,setSortDirection:z}=E(N.tableData),V=async(s="xlsx")=>{e();const o={report_type:s,start_date:c()(R[0]).format("YYYY-MM-DD"),end_date:c()(R[1]).format("YYYY-MM-DD"),group:O.period,...t&&{outlet_id:t}};try{const e=await w.S2K(o);if(!e.data)throw Error(e.msg);"xlsx"===s?window.location=e.data:(0,F.V)(e.data),r({title:_("toast.success",{ns:"translation"}),message:n.createElement(u.A,{css:{width:"280px"}},n.createElement(b.x6,{t:_,i18nKey:"toast.export.success"},"Laporan"," ",n.createElement("b",null,"Waktu Teramai Penjualan")," ","berhasil diekspor")),level:"success"})}catch(e){r({title:_("toast.error",{ns:"translation"}),message:n.createElement(u.A,{css:{width:"280px"}},n.createElement(b.x6,{t:_,i18nKey:"toast.export.error"},"Laporan"," ",n.createElement("b",null,"Waktu Teramai Penjualan")," ","gagal diekspor (data kosong)")),level:"error"})}finally{a(!1)}},Q=(0,n.useCallback)(e=>{if(""===e||void 0===e)U(a=>({...a,filteredTable:a.tableData,search:e}));else if(void 0!==e){const a=N.tableData.filter(a=>Object.values(a).some(a=>String(a).toLowerCase().includes(e.toLowerCase())));U(t=>({...t,filteredTable:a,search:e}))}},[N.tableData]),q=e=>{switch(O.period){case"hour":return`${(0,S.jB)(e)}:00`;case"day":return(0,v._3)(_)[e];case"date":return`${(0,S.jB)(e)}`;default:return(0,v.US)(_)[e-1]}},X=e=>{const a=s()(e,e=>parseFloat(e.product_average)),t=s()(e,e=>parseFloat(e.sales_average)),r=s()(e,e=>parseFloat(e.guest_average)),n=s()(e,e=>parseFloat(e.transaction_average)),o=e.map(e=>{const s=parseFloat(e.guest_average)/r;return Object.assign({},e,{transaction_time:q(e.time_unit),guest_avg_percentage:(100*(Number.isNaN(s)?0:s)).toFixed(1),transaction_avg_percentage:(parseFloat(e.transaction_average)/n*100).toFixed(1),product_avg_percentage:(parseFloat(e.product_average)/a*100).toFixed(1),omzet_avg_percentage:(parseFloat(e.sales_average)/t*100).toFixed(1)})});return j(!1),(e=>{if(0===e.length)I(e=>({...e,chartData:[]}));else{let a=[];"hour"===O.period?a=(0,v.tA)(e,O.chartLegend,"time_unit"):"date"===O.period?a=(0,v.XZ)(e,O.chartLegend,"time_unit"):"day"===O.period?a=(0,v.lb)(e,O.chartLegend,"time_unit",_):"month"===O.period&&(a=(0,v.LR)(e,O.chartLegend,"time_unit",_)),I(e=>({...e,chartData:a.map(e=>({...e,transaction_average:e.transaction_average*$,guest_average:e.guest_average*$}))}))}})(o),{listData:o}};(0,n.useEffect)(()=>{(async()=>{const s={start_date:c()(R[0]).format("YYYY-MM-DD"),end_date:c()(R[1]).format("YYYY-MM-DD"),group:O.period,is_all:!0,...t&&{outlet_id:t}};e(),o(s).then(()=>{a(),j(!0)}).catch(e=>{a(),r({title:_("toast.error",{ns:"translation"}),message:e.msg||e.message,level:"error"})})})()},[R,t,O.period]),(0,n.useEffect)(()=>{O.chartData&&I(e=>({...e,chartLegend:e.chartLegend.map(e=>({...e,hide:!1,name:_(`chart.legend.${e.nameKey}`),tooltipLabel:_(`chart.tooltip.${e.tooltipKey}`)}))}))},[O.chartData]),(0,n.useEffect)(()=>
1{if(x&&l.data.busiest_time_sales){const e=l.data.busiest_time_sales.data,a=l.data.busiest_time_sales.summary;if(e.length>0&&a){const e=X(l.data.busiest_time_sales.data);U({tableData:e.listData,tableSummary:{...a,omzet:a.sales}})}0===e.length&&U({tableData:[],tableSummary:v.lu})}},[x,l]);return n.createElement(g.tu,{responsive:!0,css:{padding:0,"@md":{padding:20}}},n.createElement(L.A,{title:_("header.title","Waktu Teramai Penjualan"),titleDownload:_("header.titleDownload","Waktu Teramai Penjualan"),calendarDate:R,isDownload:!0,downloadLaporan:V,isMobile:D,t:_,isPrimary:!0,typeDownload:K.II.MULTI}),n.createElement(C.cr,null),n.createElement(h.w,{responsive:!0,css:{margin:"$spacing-05 0"}}),n.createElement(P.A,{isDatamart:!0,isChart:!0,isPeriod:!0,isDownload:!0,isSearch:!0,isMobile:D,calendarDate:R,handleChangeDate:e=>{Y(e),d(c()(e[0]).format("DD-MM-YYYY"),c()(e[1]).format("DD-MM-YYYY"),null,null)},period:O.period,periodOptions:(0,v.Ab)(_),handleChangePeriod:e=>{const a=(0,v.Ab)(_).find(a=>a.value===e).name;I(t=>({...t,period:e,periodName:a}))},downloadLaporan:V,t:_,typeDownload:K.II.MULTI,title:_("header.titleDownload","Laporan Waktu Teramai Penjualan"),handleTableSearch:Q}),n.createElement(h.w,{css:{display:"block",margin:"$spacing-05 0"}}),n.createElement(u.A,null,f&&n.createElement(T.Pr,{key:`${O.chartLegend}-teramai-${O.chartData.length}-penjualan-${O.period}`,title:n.createElement(b.x6,{t:_,i18nKey:"chart.title"},"Waktu Teramai per"," ",{period:`${(0,S.Sn)(_(`period.${O.periodName?O.periodName.toLowerCase():""}`,O.periodName,{ns:"translation"}))}`}),data:O.chartData,period:O.period,legendData:O.chartLegend,xAxisKey:"date",isDateFormat:"date"!==O.period,customTooltip:e=>{const{label:a,legendData:t,payload:r}=e,s=t.filter(e=>!1===e.hide).map(e=>({...e,value:"transaction_average"===e.dataKey||"guest_average"===e.dataKey?r.find(a=>a.dataKey===e.dataKey).value/$:r.find(a=>a.dataKey===e.dataKey).value}));return n.createElement(u.A,{css:{backgroundColor:"$textContent",color:"$white",borderRadius:"$sm",padding:"$spacing-03"}},n.createElement(m.A,{paragraph:"shortContentRegular"},a),s.map(e=>n.createElement(p.A,{key:e.dataKey,align:"center",gap:2},n.createElement(k.u,{css:{backgroundColor:e.color}}),n.createElement(m.A,{key:e.dataKey,paragraph:"shortContentRegular"},e.isCurrency?(0,S.Gl)({value:e.value,convertMinus:e.value<0,decimal:e.value%1!=0}):(0,S.Mw)(e.value),` ${e.tooltipLabel||e.name}`))))}})),n.createElement(M.A,{isMobile:D,width:D?"100%":"25%",data:[{title:_("cardSummary.totalSales","Total Penjualan"),color:"green",value:(0,S.Gl)({value:N.tableSummary.omzet,decimal:!0})},{title:_("cardSummary.transaction","Transaksi"),color:"blue",value:(0,S.Mw)(N.tableSummary.transaction)},{title:_("cardSummary.product","Produk"),color:"purple",value:(0,S.Mw)(N.tableSummary.product)},{title:_("cardSummary.customer","Pelanggan"),color:"lightBlue",value:(0,S.Mw)(N.tableSummary.guest)}]}),n.createElement(h.w,{css:{display:"block",margin:"$spacing-05 0"}}),n.createElement(y.XI,{id:"timecrowdmart_sales",columns:(0,v.T2)(_),data:W,totalData:N.tableData.length,pageIndex:H,css:{padding:0,"@sm":{mt:"$spacing-05"}},fetchData:({pageIndex:e,pageSize:a,sortAccessor:t,sortDirection:r})=>{G(e),J(a),B(t||""),z(r||"")},searchQuery:N.search}))};Y.propTypes={filterBranch:l().string.isRequired,fetchReport:l().func,report:l().shape({data:l().arrayOf(l().shape({})),summary:l().shape({})}),summary:l().shape({}),router:l().shape({push:l().func}).isRequired,hideProgress:l().func,showProgress:l().func,addNotification:l().func,calendar:l().shape({start:l().string,end:l().string}),assignCalendar:l().func},Y.defaultProps={fetchReport:()=>{},report:{data:[],summary:{}},summary:null,hideProgress:()=>{},showProgress:()=>{},addNotification:()=>{},calendar:{start:v.FJ,end:v.IB},assignCalendar:()=>{}};const x=(0,R.A)((0,d.Ng)(e=>({report:e.report.analisaSales,isFetching:e.report.isFetching,logo:e.user.profile.user_usaha_logo_path,listCabang:e.branch.list,namaUser:e.user.profile.user_name,namaUsaha:e.user.profile.user_usaha_name}),e=>({fetchReport:a=>e((0,D.AP)(a))}))(Y))},74845(e,a,t){t.d(a,{A:()=>p});var r=t(96540),s=t(5556),n=t.n(s),o=t(79933),l=t(52893),i=t(7077),c=t(28459),d=t(33156),u=t(29678);const m=({data:e,width:a,tooltipPosition:t,toottipAlign:s,isMobile:n})=>r.createElement(u.Ox,{data:e.map(e=>({color:e.color,label:e.info?r.createElement(l.A,{justify:"between"},r.createElement(i.Zp.Label,null,e.title),r.createElement(o.A,null,r.createElement(c.Ay,{color:"dark",label:e.info,side:t,align:s}
1,r.createElement(o.A,{css:{cursor:"pointer",padding:"0 15px"}},r.createElement(d.CircleInfoOutline,{style:{verticalAlign:"text-bottom"}}))))):e.title,description:e.value}))});m.propTypes={data:n().arrayOf(n().object).isRequired,width:n().oneOfType([n().string,n().number]),tooltipPosition:n().string,toottipAlign:n().string,isMobile:n().bool},m.defaultProps={width:"50%",tooltipPosition:"bottom",toottipAlign:"center",isMobile:!1};const p=m},73508(e,a,t){t.d(a,{Ab:()=>f,FJ:()=>d,IB:()=>u,LR:()=>b,T2:()=>v,US:()=>p,XZ:()=>h,_3:()=>m,gw:()=>E,lb:()=>y,lu:()=>_,tA:()=>g});var r=t(96540),s=t(95093),n=t.n(s),o=t(79933),l=t(22680),i=t(29678),c=t(83109);const d=n()().startOf("month").toDate(),u=n()().endOf("month").toDate(),m=e=>[e("chart.days.sunday","Minggu"),e("chart.days.monday","Senin"),e("chart.days.tuesday","Selasa"),e("chart.days.wednesday","Rabu"),e("chart.days.thursday","Kamis"),e("chart.days.friday","Jumat"),e("chart.days.saturday","Sabtu")],p=e=>[e("chart.months.january","Januari"),e("chart.months.february","Februari"),e("chart.months.march","Maret"),e("chart.months.april","April"),e("chart.months.may","Mei"),e("chart.months.june","Juni"),e("chart.months.july","Juli"),e("chart.months.august","Agustus"),e("chart.months.september","September"),e("chart.months.october","Oktober"),e("chart.months.november","November"),e("chart.months.december","Desember")],g=(e,a,t)=>{if(0===e.length)return[];const r=[],s=a.map(e=>({[e.dataKey]:0}));for(let a=0;a<24;a+=1){const n=`${String(a).padStart(2,0)}:00`,o=e.findIndex(e=>Number(e[t])===a);e[o]?r.push({...Object.assign({},...s),...e[o],date:n}):r.push({...Object.assign({},...s),date:n})}return r},h=(e,a,t)=>{if(0===e.length)return[];const r=[],s=a.map(e=>({[e.dataKey]:0}));for(let a=1;a<=31;a+=1){const n=e.findIndex(e=>Number(e[t])===a);e[n]?r.push({...Object.assign({},...s),...e[n],date:a}):r.push({...Object.assign({},...s),date:a})}return r},y=(e,a,t,r)=>{if(0===e.length)return[];const s=[],n=a.map(e=>({[e.dataKey]:0}));for(let a=0;a<7;a+=1){const o=e.findIndex(e=>Number(e[t])===a);e[o]?s.push({...Object.assign({},...n),...e[o],date:m(r)[a]}):s.push({...Object.assign({},...n),date:m(r)[a]})}return s},b=(e,a,t,r)=>{if(0===e.length)return[];const s=[],n=a.map(e=>({[e.dataKey]:0}));for(let a=1,o=0;a<=12;a+=1,o+=1){const l=e.findIndex(e=>Number(e[t])===a);e[l]?s.push({...Object.assign({},...n),...e[l],date:p(r)[o]}):s.push({...Object.assign({},...n),date:p(r)[o]})}return s},_={omzet:0,transaction:0,product:0,guest:0},f=e=>[{name:e("chart.period.hour","Jam"),value:"hour"},{name:e("chart.period.day","Hari"),value:"day"},{name:e("chart.period.date","Tanggal"),value:"date"},{name:e("chart.period.month","Bulan"),value:"month"}],E=[{dataKey:"sales_average",nameKey:"avgSales",tooltipKey:"revenue",name:"Rata-rata penjualan",color:l.Tj.chartGreen,isHideable:!0,hide:!1,isCurrency:!0,tooltipLabel:"Omset"},{dataKey:"transaction_average",nameKey:"avgTransaction",tooltipKey:"transactions",name:"Rata-rata transaksi",color:l.Tj.chartYellow,isHideable:!0,hide:!1,tooltipLabel:"Transaksi"},{dataKey:"guest_average",nameKey:"avgCustomer",tooltipKey:"customers",name:"Rata-rata pelanggan",color:l.Tj.chartPurple,isHideable:!0,hide:!1,tooltipLabel:"Pelanggan"}],v=e=>[{Header:e("headerTable.date","WAKTU"),accessor:"transaction_time",sticky:"left",shadow:!0},{Header:e("headerTable.sales","PENJUALAN (RP)"),accessor:"sales_average",colMinWidth:200,Cell:e=>(0,i.iy)({...e})},{Header:e("headerTable.salesAvg","PENJUALAN (%)"),accessor:"omzet_avg_percentage",colMinWidth:150,Cell:e=>{const{value:a}=e;return r.createElement(o.A,null,`${(0,c.Mw)(a)}%`)}},{Header:e("headerTable.transaction","TRANSAKSI"),accessor:"transaction_average"},{Header:e("headerTable.transactionAvg","TRANSAKSI (%)"),accessor:"transaction_avg_percentage",colMinWidth:150,Cell:e=>{const{value:a}=e;return r.createElement(o.A,null,`${(0,c.Mw)(a)}%`)}},{Header:e("headerTable.product","PRODUK"),accessor:"product_average"},{Header:e("headerTable.productAvg","PRODUK (%)"),accessor:"product_avg_percentage",colMinWidth:130,Cell:e=>{const{value:a}=e;return r.createElement(o.A,null,`${(0,c.Mw)(a)}%`)}},{Header:e("headerTable.customer","Tamu"),accessor:"guest_average"},{Header:e("headerTable.customerAvg","Tamu %"),accessor:"guest_avg_percentage",colMinWidth:130,Cell:e=>{const{value:a}=e;return r.createElement(o.A,null,`${(0,c.Mw)(a)}%`)}}]}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.