"use strict";app.controller("reportCtrl",["$scope","$rootScope","$state","$timeout","$interval","$http","$cookieStore","moment","SweetAlert","Restangular","api_report","api_statistic",function(e,a,r,t,l,s,n,o,u,i,p,v){function h(a,r){angular.forEach(a,function(a,t){a.path==r?e.repoRoot=a:null==e.repoRoot&&angular.isDefined(a.repoObjects)&&h(a.repoObjects,r)})}function c(e){angular.isArray(e)?angular.forEach(e,function(e,a){c(e)}):(angular.isDefined(e.name)&&(e.name.indexOf(".")>=0?e.label=e.name.substr(0,e.name.lastIndexOf(".")):e.label=e.name),angular.isDefined(e.repoObjects)&&(e.children=[],e.children=e.repoObjects,delete e.repoObjects,c(e.children)))}function m(e){var a=void 0;if(angular.isArray(e));else{a={};for(var r in e)r.indexOf("Date")>0&&angular.isString(e[r])&&(a[r]=o(e[r],"YYYYMMDD").format("YYYY-MM-DD"))}return a}function d(e){var a=void 0;if(angular.isArray(e));else{a={};for(var r in e)r.indexOf("Date")>0&&(angular.isDate(e[r])?a[r]=o(e[r]).format("YYYYMMDD"):angular.isString(e[r])&&(a[r]=e[r]))}return a}function f(){return U=x(U),O(Y(U.h,U.s,U.v))}function g(){return"xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var a=16*Math.random()|0;return("x"==e?a:3&a|8).toString(16)}).toUpperCase()}function w(a){p.execute(a).then(function(a){e.rheaders=[],e.rRows=[];var r=i.stripRestangular(a);y(r)})}function y(e){return D(e)}function D(a){var r,t,l,s,n,o,u="",i="",p=a.cellset,v=p||[],h=0,c=[],m=!1,d=!1,f=[],g=[],w={};w[q]=a.rowTotalsLists,w[M]=a.colTotalsLists;for(var y={},D={},x=[M,q],_=0;_",0===Y&&(i=""+i);for(var k=0,T=v[Y].length;k ';var I={thclass:"all_null",value:" / "};f.push(I)}else if("COLUMN_HEADER"===A.type){if(null==l&&(l=k),v[Y].length==k+1?s=!0:o=p[Y][k+1],s)if("null"==A.value){i+=' ';var I={thclass:"all_null",value:" / "};f.push(I)}else{w[M]&&(r=w[M][Y+1][D[M][Y+1]].span),i+='
'+A.value+"
";var I={thclass:"col",colspan:""+r,title:A.value};I.value={rel:Y+":"+k,value:A.value},f.push(I)}else{var S=k>1&&Y>1&&!t&&k>l&&(p[Y-1][k+1].value!=p[Y-1][k].value||p[Y-1][k+1].properties.uniquename!=p[Y-1][k].properties.uniquename),P=r>999;if(A.value!=o.value||R(p,Y,k)||t||S||P){if("null"==A.value){i+=' ';var I={thclass:"col_null",colspan:r,value:" "};f.push(I)}else{w[M]&&(r=w[M][Y+1][D[M][Y+1]].span),i+='
'+A.value+"
";var I={thclass:"col",colspan:0==r?1:r,title:A.value};I.value={rel:Y+":"+k,value:A.value},f.push(I)}r=1}else r++}p[Y][3]={},w[M]&&(i+=genTotalHeaderCells(k-a.leftOffset+1,Y+1,y[M],D[M],w[M],!0))}else if("ROW_HEADER"===A.type&&"null"===A.value){i+=' ';var I={thclass:"row_null",value:A.value};f.push()}else if("ROW_HEADER"===A.type){h==k?t=!0:o=p[Y][k+1],v.length==Y+1?n=!0:p[Y+1][k];var C=p[Y-1],I={},F=!E&&!t&&0==k&&A.value===C[k].value;E=!F;var H=F?"
 
":'
'+A.value+"
";I.value=F?{value:"  "}:{value:A.value,rel:Y+":"+k};var N,N=F?"row_null":"row",L=0;if(!t&&(void 0===o||"null"===o.value)){L=1;for(var j=A.properties.dimension,W=A.properties.level,$=(j in c?c[j].length-c[j].indexOf(W):1),z=k+1;L<$&&z<=h+1&&"null"!==p[Y][z];z++)L=z-k;k+=L}!n&&(p[Y+1][k].value,p[Y][k].value),i+='0?' colspan="'+L+'"':"")+">"+H+"",I.thclass=N,L>0&&(I.colspan=L),g.push(I)}else if("ROW_HEADER_HEADER"===A.type){i+='
'+A.value+"
";var I={thclass:"row_header",value:A.value};if(I.value={value:A.value},f.push(I),t=!0,!0,h=k,A.properties.hasOwnProperty("dimension")){var j=A.properties.dimension;j in c||(c[j]=[]),c[j].push(A.properties.level)}}else if("DATA_CELL"===A.type){null!=A.value&&""!=A.value||(A.value="0"),!0;var G="",Z=A.value,B="",K={};if(A.properties){if(A.properties.hasOwnProperty("image")){var X=A.properties.hasOwnProperty("image_height")?" height='"+A.properties.image_height+"'":"",J=A.properties.hasOwnProperty("image_width")?" width='"+A.properties.image_width+"'":"";Z=""}A.properties.hasOwnProperty("style")&&(G=" style='background-color: "+A.properties.style+"' ",K.rowStyle={"background-color":A.properties.style}),A.properties.hasOwnProperty("link")&&(Z=""+Z+""),A.properties.hasOwnProperty("arrow")&&(B="")}else A.properties={};i+='
'+Z+B+"
",K.value={alt:A.properties.raw,rel:A.properties.position,value:Z},g.push(K),w[M]&&(i+=genTotalDataCells(U+1,b,y[M],D[M],w,!0))}}i+="",e.rheaders.push(f),f=[],g.length>1&&("接听率"==e.reportName&&g.length>2?_=_+parseInt(g[g.length-1].value.value,10)+parseInt(g[g.length-2].value.value,10):_+=parseInt(g[g.length-1].value.value,10),e.rRows.push(g),g=[]);var Q="";w[q]&&b>=0&&(Q+=genTotalHeaderRowCells(b+1,y,D,w,!0)),m||d||(u+="",d=!0),u+=i,Q.length>0&&(u+=Q)}var V=[],ee=[],ae=[];V[0]={thclass:"row",value:{rel:"1:0",value:"合计"}};for(var re=0,te=0,le=0;le2?e.rRows[le].push({value:{value:String(parseInt(e.rRows[le][e.rRows[le].length-1].value.value)+parseInt(e.rRows[le][e.rRows[le].length-2].value.value))}}):e.rRows[le].push({value:{value:String(parseInt(e.rRows[le][e.rRows[le].length-1].value.value))}})),0!=_?e.rRows[le].push({value:{value:String((100*parseInt(e.rRows[le][e.rRows[le].length-1].value.value)/_).toFixed(2))+"%"}}):e.rRows[le].push({value:{value:String((0).toFixed(2))+"%"}});for(var se=0;se"+u+""}function R(e,a,r){for(;a-- >0;)if(e[a][r].properties.uniquename!=e[a][r+1].properties.uniquename)return!0;return!1}function x(e){return angular.isUndefined(e)?{h:0,s:.75,v:.8}:{h:e.h+51.5,s:.75,v:.8}}function Y(e,a,r){var t,l,s,n,o,u,i,p;if(0==a)return r=Math.floor(255*r),{r:r,g:r,b:r};switch(e/=60,t=Math.floor(e),l=e-t,s=r*(1-a),n=r*(1-a*l),o=r*(1-a*(1-l)),t){case 0:u=r,i=o,p=s;break;case 1:u=n,i=r,p=s;break;case 2:u=s,i=r,p=o;break;case 3:u=s,i=n,p=r;break;case 4:u=o,i=s,p=r;break;default:u=r,i=s,p=n}return{r:255*u,g:255*i,b:255*p}}function O(e){var a=e.r,r=e.g;return"#"+(e.b|r<<8|a<<16).toString(16)}var M="ROWS",q="COLUMNS";e.treeshow=!0,e.searchstate="",e.headers="请选择事件树形列表!",p.getLicenseKey().then(function(a){n.put("Auth-Token",a.token),e.try_async_load()});var b={};e.parameters={},e.category={},e.reportName="报表",e.allheight=100,e.isMaskground=!1,e.starttimes=o((new Date).getTime()-6048e5).format("YYYYMMDD"),e.endtimes=o((new Date).getTime()-864e5).format("YYYYMMDD"),e.changeForm=function(a){e.starttimes=o(a).format("YYYYMMDD")},e.changeTo=function(a){e.endtimes=o(a).format("YYYYMMDD")},e.week=function(){e.searchstate="week";var a=(new Date).getDay();e.starttimes=o((new Date).getTime()-864e5*(a+6)).format("YYYYMMDD"),e.endtimes=o((new Date).getTime()-864e5*a).format("YYYYMMDD"),e.parameters.paramDateFrom=e.starttimes,e.parameters.paramDateTo=e.endtimes,e.parameters=m(e.parameters),e.mdxquery()},e.month=function(){e.searchstate="month",e.starttimes=o(new Date(o().startOf("month")).setMonth((new Date).getMonth()-1)).format("YYYYMMDD"),e.endtimes=o(new Date(o().startOf("month")).setMonth((new Date).getMonth())-864e5).format("YYYYMMDD"),e.parameters.paramDateFrom=e.starttimes,e.parameters.paramDateTo=e.endtimes,e.parameters=m(e.parameters),e.mdxquery()},e.year=function(){e.searchstate="year",e.starttimes=o().startOf("year").format("YYYYMMDD"),e.endtimes=o().format("YYYYMMDD"),e.parameters.paramDateFrom=e.starttimes,e.parameters.paramDateTo=e.endtimes,e.parameters=m(e.parameters),e.mdxquery()},e.my_tree_handler=function(a){if(e.isMaskground=!0,e.treeshow=!1,"FILE"==a.type){e.reportName=a.label;var r=e.mdxpath=a.path;E=g(),p.getMdx(r,E).then(function(a){var r=i.stripRestangular(a);b.query=r,e.shows=!1,e.isMaskground=!1,b.query.parameters.paramDateFrom=e.starttimes,b.query.parameters.paramDateTo=e.endtimes,e.parameters=m(b.query.parameters),b.query.parameters.reportUUID?(e.rptUUID=b.query.parameters.reportUUID,delete b.query.parameters.reportUUID,e.parameters=m(b.query.parameters),v.query(b.query.parameters,e.rptUUID).then(function(a){e.rheaders=[],e.rRows=[];var r=i.stripRestangular(a);r.cellset.length<2&&(r.cellset=null,e.shows=!0,e.empty="数据为空!");y(r)})):(e.rptUUID=void 0,p.execute(r).then(function(a){e.rheaders=[],e.rRows=[];var r=i.stripRestangular(a);null!=r.cellset&&0!=r.cellset.length||(e.shows=!0,e.empty="数据为空!");y(r);T(r)}))})}},e.my_data=[],e.my_tree={},e.try_async_load=function(){e.my_data=[],e.select_treedata=[],p.list().then(function(a){h(i.stripRestangular(a),"/homes/home:admin/ITSM报表"),e.repoRoot.name="模块选择",c(e.repoRoot),e.my_data.push(e.repoRoot)})},e.repoRoot=null,e.open=function(a){a.preventDefault(),a.stopPropagation(),e.opened=!e.opened},e.endOpen=function(a){a.preventDefault(),a.stopPropagation(),e.startOpened=!1,e.endOpened=!e.endOpened},e.startOpen=function(a){a.preventDefault(),a.stopPropagation(),e.endOpened=!1,e.startOpened=!e.startOpened},e.mdxquery=function(a){e.isMaskground=!0,a&&"all"==a&&(e.searchstate=""),e.shows=!1,angular.isDefined(b.query)&&(e.rptUUID?(b.query.parameters=d(e.parameters),b.query.parameters.paramDateFrom=b.query.parameters.paramDateFrom.replace(/-/g,""),b.query.parameters.paramDateTo=b.query.parameters.paramDateTo.replace(/-/g,""),e.starttimes=b.query.parameters.paramDateFrom,e.endtimes=b.query.parameters.paramDateTo,v.query(b.query.parameters,e.rptUUID).then(function(a){e.rheaders=[],e.rRows=[],e.isMaskground=!1;var r=i.stripRestangular(a);r.cellset.length<2&&(r.cellset=null,e.shows=!0,e.empty="数据为空!");y(r)})):(e.rptUUID=void 0,b.query.parameters=d(e.parameters),angular.isDefined(e.parameters.paramDateFrom)&&angular.isDefined(e.parameters.paramDateTo)&&(b.query.parameters.paramDateFrom=b.query.parameters.paramDateFrom.replace(/-/g,""),b.query.parameters.paramDateTo=b.query.parameters.paramDateTo.replace(/-/g,""),e.starttimes=b.query.parameters.paramDateFrom,e.endtimes=b.query.parameters.paramDateTo,p.execute(b.query).then(function(a){e.isMaskground=!1,e.rheaders=[],e.rRows=[];var r=i.stripRestangular(a);null!=r.cellset&&0!=r.cellset.length||(e.shows=!0,e.empty="数据为空!");y(r);T(r)}))))},e.execute=function(){p.list(e.token).then(function(a){e.select_treedata=e.my_data=a})},e.searchOptions=function(){if(angular.isDefined(b.query)){var e=b.query.parameters;for(var a in e);}},e.activeParentGroup=!1,e.disabledParentGroup=!1,e.toggleParentGroup=function(){b.query&&(b.query.properties["saiku.olap.result.formatter"]="flattened",w(b.query))};var E,k=function(e,a,r){var t=this,l={};a&&(l.resultset=[],l.metadata=[],l.height=0,l.width=0);var s=l;if(void 0!==e&&void 0!==e.data&&(null===e.data||null===e.data.error)&&!(null===e.data||e.data.cellset&&0===e.data.cellset.length)){var n=e.data.cellset;if(n&&n.length>0){var o,u,i,p=0,v=0,h=!1,c=function(e,a){return e+a};for(o=0,u=n.length;0===v&&oi&&(i=Y)}if(n[o]&&"null"!==n[o][i].value){if(0===i)for(var O=0;O<=p;O++)w[O]=null;"number"==typeof s&&(R[x]={},s=R[x]),x=n[o][i].value,w[i]=x,s.hasOwnProperty(x)||(s[x]={}),R=s,s=s[x]}}D=_.clone(w);for(var M=p+1,q=n[o].length;M0&&k&&(E=b.value&&b.value.indexOf("%")>=0?100*E:E),y.push(E),D.push({f:b.value,v:E})}a&&l.resultset.push(D);var U=_.reduce(y,c,0);x=null===x?"null":x,R[x]=U,s=l}return r&&(t.rawdata=e.data,t.data=l,t.hasProcessed=!0,t.data.height=t.data.resultset.length),l}}},T=function(a){var r=k({data:a}),t=window._,l=void 0;if(e.chartData=[],b.query)if("sunburst"==b.query.properties["saiku.ui.render.type"]){e.chartType="pie",l=[];var s=0,n=0;t.forIn(r,function(e,a){s+=e,n++,l.push({label:a,value:e,color:f()})}),e.chartData=l,e.chartOptions={segmentShowStroke:!0,segmentStrokeWidth:2,legendTemplate:'
    <% for (var i=0; i
  • <%if(segments[i].label){%><%=segments[i].label%><%}%>
  • <%}%>
',onAnimationComplete:function(){this.showTooltip(this.segments,!0)}}}else b.query.properties["saiku.ui.render.type"]};e.getRelativePosition=function(e){},e.getPointPosition=function(e){},e.exportData=function(a){!a&&E&&(a=E);var r=e.mdxpath;if(void 0!=b.query.name){var t=r.substring(r.lastIndexOf("/")+1).slice(0,-5);s({url:p.exportData("flat",a,encodeURIComponent(t)).getRequestedUrl(),method:"POST",data:b.query,headers:{Accept:"application/vnd.ms-excel","X-Auth-Token":n.get("Auth-Token")||null},responseType:"arraybuffer"}).success(function(e,a,r,l){var s=new Blob([e],{type:"application/vnd.ms-excel"}),n=URL.createObjectURL(s),o=document.createElement("a");o.href=n,o.target="_blank",o.download=t+"xls",document.body.appendChild(o),o.click()}).error(function(e,a,r,t){})}},e.rheaders=[],e.rRows=[],e.onChartClick=function(e){};var U=void 0}]);