//var Fse; if( ! Fse ) Fse = {};
//if( ! Fse.DAX ) Fse.DAX = {};
//Fse.Util.updateURL(document.getElementById( "tpmHandlerLink").getAttribute( "href" ), {mode:"direct",ajax:sViewName } );
var tabs = [
{
id: 0,
text: "Deductions-Summary",
components:[
{
id:"1",
type:"dxSelectBox",
left:"5px",
top:"5px",
options:{
height:30,
width:190,
hint:"",
noDatatext:"",
placeholder: "Month",
displayExpr:"description",
valueExpr:"month",
value:"August",
items:[{month:"January",description:"2017-January"},{month:"February",description:"2017-February"},{month:"March",description:"2017-March"},{month:"April",description:"2017-April"},{month:"May",description:"2017-May"},{month:"June",description:"2017-June"},{month:"July",description:"2017-July"},{month:"August",description:"2017-August"},{month:"September",description:"2017-September"},{month:"October",description:"2017-October"}]
}
},
{
id:"2",
type:"dxSelectBox",
left:"205px",
top:"5px",
url:"#ajaxView('getDeductions')#",
query:"groupby=sku",
dataPostProcessFn: function (data){
data.unshift({sku:'',description:'Clear Selection'});
return data;
},
options:{
height:30,
width:190,
hint:"",
noDatatext:"",
displayExpr:"sku",
valueExpr:"sku",
placeholder: "SKU/Product",
fieldTemplate: function(data, container) {
var result = $("
");
if (data == null) {
result.find(".product-name").dxTextBox({ value: "" });
}else{
if (data.sku != '') {
result.find(".product-name").dxTextBox({ value: "SKU: " + data.sku });
}else{
result.find(".product-name").dxTextBox({ value: "SKU/Product" });
}
}//else
container.append(result);
}
}
}
,
{
id:"3",
type:"dxSelectBox",
left:"405px",
top:"5px",
url:"#ajaxView('getDeductions')#",
query:"groupby=distributorId",
dataPostProcessFn: function (data){
data.unshift({distributorId:'',description:'Clear Selection'});
return data;
},
options:{
height:30,
width:190,
hint:"Select to update the report for a particular Distributor",
noDatatext:"",
displayExpr:"description",
valueExpr:"distributorid",
placeholder: "Distributor",
fieldTemplate: function(data, container) {
var result = $("");
if (data == null) {
result.find(".product-name").dxTextBox({ value: "" });
}else{
if (data.distributorid != '') {
result.find(".product-name").dxTextBox({ value: "Distributor: " + data.description });
}else{
result.find(".product-name").dxTextBox({ value: "Distributor" });
}
}//else
container.append(result);
}
}
},
{
id:"4",
type:"dxSelectBox",
left:"605px",
top:"5px",
url:"#ajaxView('getDeductions')#",
query:"groupby=operatorId",
dataPostProcessFn: function (data){
data.unshift({operatorId:'',description:'Clear Selection'});
return data;
},
options:{
height:30,
width:190,
hint:"Select to update the report for a particular Operator",
noDatatext:"",
displayExpr:"description",
valueExpr:"operatorid",
placeholder: "Operator",
fieldTemplate: function(data, container) {
var result = $("");
if (data == null) {
result.find(".product-name").dxTextBox({ value: "" });
}else{
if (data.distributorid != '') {
result.find(".product-name").dxTextBox({ value: "Operator: " + data.description });
}else{
result.find(".product-name").dxTextBox({ value: "Operator" });
}
}//else
container.append(result);
}
}
}
,
{
id:"5",
type:"dxDataGrid",
left:"5px",
top:"45px",
url:"#ajaxView('getDeductions')#",
query:"groupby=month",
filter:[{field:"month",value:"August"}],
options:{
height:70,
width:800,
columns:[{dataField: "xmth",caption: "Current Month",format:"currency", alignment: 'center',encodeHtml:false,
calculateDisplayValue: function (r){
if(!r.xavg){
return "" + window.DevExpress.formatHelper.format(r.xmth,'currency') +""
}else if (r.xmth < r.xavg){
return "" + window.DevExpress.formatHelper.format(r.xmth,'currency') +" "
}else if (r.xmth > r.xavg){
return "" + window.DevExpress.formatHelper.format(r.xmth,'currency') +" "
}else{
return "" + window.DevExpress.formatHelper.format(r.xmth,'currency') +" -/-"
}
}
},
{dataField: "xytd",caption: "YTD",format:"currency", alignment: 'center'},
{dataField: "xmax",caption: "Max(Month)",format:"currency", alignment: 'center'},
{dataField: "xmin",caption: "Min(Month)",format:"currency", alignment: 'center'},
{dataField: "xavg",caption: "Avg/Month",format:"currency", alignment: 'center'},
{dataField: "xyear",caption: "Trend",alignment: 'center',encodeHtml:false,calculateDisplayValue: function (r){return '';}}
]
}
},
{
id:"6",
type:"dxPieChart",
left:"5px",
top:"125px",
url:"#ajaxView('getDeductions')#",
query:"groupby=status",
filter:[{field:"month",value:"August"}],
argumentField: "status",
dataTemplate: [{"amount":0,"status":"Cleared"},{"amount":0,"status":"Repayment"},{"amount":0,"status":"InProcess"},{"amount":0,"status":"OnHold"}],
dataPostProcessFn: function (data){
var modifiedData = new Array (data.length);
var cnt = 0, maxCnt = modifiedData.length;
while(cnt < maxCnt){
modifiedData[cnt] = $.extend( true,{}, data[cnt]);
modifiedData[cnt]['status'] = modifiedData[cnt]['status'] + " - " + window.DevExpress.formatHelper.format(modifiedData[cnt]['amount'], 'currency');
cnt++;
}//while(cnt < maxCnt)
return modifiedData;
},
options:{
size:{
height:390,
width:390,
},
palette: "Soft Pastel",
title: "2017-August",
tooltip: {
enabled: true,
format: {
type: 'currency'
},
customizeTooltip: function (arg) {
return {
text: arg.argumentText + " ( " + arg.percentText + " )"
};
}
},
legend: {
horizontalAlignment: 'center',
verticalAlignment: 'bottom'
},
series: [{
type: "doughnut",
valueField:"amount",
argumentField: "status",
label: {
connector: {
visible: false,
},
position: "columns",
visible: false,
format: {
type: 'largeNumber',
precision: 2
}
}
}]
}
},
{
id:"7",
type:"dxPieChart",
left:"405px",
top:"125px",
url:"#ajaxView('getDeductions')#",
query:"groupby=status",
argumentField: "status",
dataTemplate: [{"amount":0,"status":"Cleared"},{"amount":0,"status":"Repayment"},{"amount":0,"status":"InProcess"},{"amount":0,"status":"OnHold"}],
dataPostProcessFn: function (data){
var modifiedData = new Array (data.length);
var cnt = 0, maxCnt = modifiedData.length;
while(cnt < maxCnt){
modifiedData[cnt] = $.extend( true,{}, data[cnt]);
modifiedData[cnt]['status'] = modifiedData[cnt]['status'] + " - " + window.DevExpress.formatHelper.format(modifiedData[cnt]['amount'], 'currency');
cnt++;
}//while(cnt < maxCnt)
return modifiedData;
},
options:{
size:{
height:390,
width:390,
},
palette: "Soft Pastel",
title: "YTD",
tooltip: {
enabled: true,
format: {
type: 'currency'
},
customizeTooltip: function (arg) {
return {
text: arg.argumentText + " ( " + arg.percentText + " )"
};
}
},
legend: {
horizontalAlignment: 'center',
verticalAlignment: 'bottom'
},
resolveLabelOverlapping: 'shift',
series: [{
type: "doughnut",
valueField:"amount",
argumentField: "status",
label: {
connector: {
visible: false,
},
position: "columns",
visible: false,
format: {
type: 'largeNumber',
precision: 2
}
}
}]
}
},
{
id:"8",
type:"dxChart",
left:"5px",
top:"525px",
url:"#ajaxView('getDeductions')#",
query:"groupby=month,status",
options:{
size:{
height:390,
width:800
},
palette: "Soft Pastel",
commonSeriesSettings: {
argumentField: "mth",
type: "stackedBar"
},
argumentAxis: {
type: "discrete",
label:{
visible: true,
overlappingBehavior: {
mode:'ignore'
}
}
},
series: [
{ valueField: "cleared", name: "Cleared" },
{ valueField: "repayment", name: "Repayment" },
{ valueField: "inprocess", name: "In Process" },
{ valueField: "onhold", name: "On Hold" }
],
legend: {
verticalAlignment: "bottom",
horizontalAlignment: "center",
itemTextPosition: 'top'
},
valueAxis: {
label:{
format: {
type: 'currency'
}
},
position: "right"
},
title: "YTD Trend",
tooltip: {
enabled: true,
format: {
type: 'currency'
},
location: "edge",
customizeTooltip: function (arg) {
return {
text: arg.seriesName + ": " + arg.valueText + " ( " + arg.percentText + " )"
};
}
}
}
}
],
interactions:[
{source:"1",type:"selectionChanged",targets:["6"],action:"updateTitle",specification:{suffix:"",valueExpr:"description"}},
{source:"1",type:"selectionChanged",targets:["5"],action:"updateGridColTitle",specification:{colId:0,valueExpr:"description"}},
{source:"1",type:"selectionChanged",targets:["2","3","4","5","6"],action:"updateFilterAndReload"},
{source:"2",type:"selectionChanged",targets:["5","6","7","8"],action:"updateFilterAndReload"},
{source:"3",type:"selectionChanged",targets:["6"],action:"updateFilterAndReload"},
{source:"4",type:"selectionChanged",targets:["6"],action:"updateFilterAndReload"},
{source:"5",type:"contentReady",targets:["5"],action:"renderSparkline",specification:{type:"winloss", dataField:"xyear",winlossThreshold:0,showMinMax: true,tooltip: {format: "currency"}}}
]
},
{
id: 1,
text: "Sales-Summary",
components:[
{
id:"1",
type:"dxDataGrid",
left:"5px",
top:"5px",
url:"#ajaxView('getSales')#",
query:"groupby=distributor",
filter:[{field:"month",value:"October"}],
dataPostProcessFn: function (data){
var modifiedData = [];
var cnt = 0, maxCnt = data.length;
while(cnt < maxCnt){
if(parseFloat(data[cnt].annualdollars) > 0.01){
modifiedData.push($.extend(true,{}, data[cnt]));
}
cnt++;
}//while(cnt < maxCnt)
return modifiedData;
},
options:{
height:300,
width:800,
paging:{enabled:false},
columns:[
{
caption: "Distributor",
dataField: "cdr_dstname",
width: 400
},
{
caption: "State",
dataField: "cdr_dststate"
},
{
caption: "Annual Sales",
dataField: "annualdollars",
dataType: "number",
format: "currency"
},
{
caption: "Annual Cases",
dataField: "annualcases"
}
,
{
caption: "Annual LBS",
dataField: "annuallbs"
}
]
}
},
{
id:"2",
type:"dxDataGrid",
left:"5px",
top:"415px",
url:"#ajaxView('getSales')#",
query:"groupby=operator",
filter:[{field:"month",value:"October"}],
options:{
height:300,
width:800,
paging:{enabled:false},
columns:[
{
caption: "Operator",
dataField: "partnername",
width: 400
},
{
caption: "Annual Sales",
dataField: "forecast_amt",
dataType: "number",
format: "currency"
},
{
caption: "Annual Cases",
dataField: "forecast_qty"
}
]
}
}
],
interactions:[
{source:"1",type:"rowClick",targets:["2"],action:"updateFilterAndReload",specification:{valueExpr:'cdr_recordid', field:'distributorId'}}
]
},
{
id: 2,
text: "Deductions-Accuracy",
components:[
{
id:"1",
type:"dxChart",
left:"5px",
top:"5px",
url:"#ajaxView('getDeductions')#",
query:"groupby=distributorscale",
dataReshapeFn: function (data){
var modifiedData = new Array (data.length);
var cnt = 0, maxCnt = modifiedData.length;
while(cnt < maxCnt){
modifiedData[cnt] = $.extend( true,{}, data[cnt]);
if(modifiedData[cnt]['distributorscale'] == 'VERY_LOW_CLAIM_VOL'){
modifiedData[cnt]['VERY_LOW_CLAIM_VOL_submittedclaims'] = modifiedData[cnt]['submittedclaims'];
modifiedData[cnt]['VERY_LOW_CLAIM_VOL_pctinaccurateclaims'] = modifiedData[cnt]['pctinaccurateclaims'];
modifiedData[cnt]['VERY_LOW_CLAIM_VOL_pctunverifiedamt'] = modifiedData[cnt]['pctunverifiedamt'];
}else if(modifiedData[cnt]['distributorscale'] == 'LOW_CLAIM_VOL'){
modifiedData[cnt]['LOW_CLAIM_VOL_submittedclaims'] = modifiedData[cnt]['submittedclaims'];
modifiedData[cnt]['LOW_CLAIM_VOL_pctinaccurateclaims'] = modifiedData[cnt]['pctinaccurateclaims'];
modifiedData[cnt]['LOW_CLAIM_VOL_pctunverifiedamt'] = modifiedData[cnt]['pctunverifiedamt'];
}else if(modifiedData[cnt]['distributorscale'] == 'MED_CLAIM_VOL'){
modifiedData[cnt]['MED_CLAIM_VOL_submittedclaims'] = modifiedData[cnt]['submittedclaims'];
modifiedData[cnt]['MED_CLAIM_VOL_pctinaccurateclaims'] = modifiedData[cnt]['pctinaccurateclaims'];
modifiedData[cnt]['MED_CLAIM_VOL_pctunverifiedamt'] = modifiedData[cnt]['pctunverifiedamt'];
}else if(modifiedData[cnt]['distributorscale'] == 'HIGH_CLAIM_VOL'){
modifiedData[cnt]['HIGH_CLAIM_VOL_submittedclaims'] = modifiedData[cnt]['submittedclaims'];
modifiedData[cnt]['HIGH_CLAIM_VOL_pctinaccurateclaims'] = modifiedData[cnt]['pctinaccurateclaims'];
modifiedData[cnt]['HIGH_CLAIM_VOL_pctunverifiedamt'] = modifiedData[cnt]['pctunverifiedamt'];
}
cnt++;
}//while(cnt < maxCnt)
return modifiedData;
},
options:{
size:{
height:390,
width:800
},
palette: ["#00ced1", "#008000", "#ffd700", "#ff7f50"],
commonSeriesSettings: {
type: 'bubble'
},
title: 'Correlation between Claims and Unverified Amount and Inaccurate Claims',
tooltip: {
enabled: true,
location: "edge",
customizeTooltip: function (arg) {
return {
text: arg.point.tag + '
Inaccuracte Claims: ' + arg.argumentText + '%
Unverified Amount: ' + arg.valueText + '%
Claims Submitted (' + arg.size + ')'
};
}
},
argumentAxis: {
title: 'Inaccurate Claims',
label:{
format: function (label){
return label+'%'
}
}
},
valueAxis: {
title: 'Unverified Amount',
label:{
format: function (label){
return label+'%'
}
},
position: "right"
},
legend: {
position: 'inside',
horizontalAlignment: 'left',
border: {
visible: true
},
visible: true
},
onLegendClick: function(e) {
var series = e.target;
series.isVisible() ? series.hide() : series.show();
},
series: [
{
name: 'Very Low Claim Volume',
argumentField: 'VERY_LOW_CLAIM_VOL_pctinaccurateclaims',
valueField: 'VERY_LOW_CLAIM_VOL_pctunverifiedamt',
sizeField: 'VERY_LOW_CLAIM_VOL_submittedclaims',
tagField:'distributor'
},
{
name: 'Low Claim Volume',
argumentField: 'LOW_CLAIM_VOL_pctinaccurateclaims',
valueField: 'LOW_CLAIM_VOL_pctunverifiedamt',
sizeField: 'LOW_CLAIM_VOL_submittedclaims',
tagField:'distributor'
},
{
name: 'Medium Claim Volume',
argumentField: 'MED_CLAIM_VOL_pctinaccurateclaims',
valueField: 'MED_CLAIM_VOL_pctunverifiedamt',
sizeField: 'MED_CLAIM_VOL_submittedclaims',
tagField:'distributor'
},
{
name: 'High Claim Volume',
argumentField: 'HIGH_CLAIM_VOL_pctinaccurateclaims',
valueField: 'HIGH_CLAIM_VOL_pctunverifiedamt',
sizeField: 'HIGH_CLAIM_VOL_submittedclaims',
tagField:'distributor'
}
]
}
},
{
id:"2",
type:"dxChart",
left:"5px",
top:"405px",
url:"#ajaxView('getDeductions')#",
filter:[{field:"distributor",value:"Reinhart Foodservice, L.L.C."}],
query:"groupby=distributorscale,sku",
options:{
size:{
height:390,
width:800
},
palette: "Soft Pastel",
commonSeriesSettings: {
argumentField: "sku",
type: "bar",
hoverMode: "allArgumentPoints",
selectionMode: "allArgumentPoints"
},
series: [
{ valueField: "pctinaccurateclaims", name: "% Inaccurate Claims"},
{ valueField: "pctunverifiedamt", name: "% Unverified Amount" }
],
title: "% Inaccurate Claims and % Unverified Amount by SKU for
Reinhart Foodservice, L.L.C.",
argumentAxis: {
title: 'SKU',
label:{
visible: true,
overlappingBehavior: {
mode:'ignore'
}
}
},
valueAxis: {
label:{
format: function (label){
return label+'%'
}
},
position: "right"
},
legend: {
verticalAlignment: "bottom",
horizontalAlignment: "center"
},
tooltip: {
enabled: true,
location: "edge",
customizeTooltip: function (arg) {
return {
text: "SKU: "+ arg.argumentText + "
"+ arg.seriesName + ": " + arg.valueText + "%"
};
}
}
}
}
],
interactions:[
{source:"1",type:"pointClick",targets:["2"],action:"updateFilterAndReload",specification:{fieldNameExpr:"tagField",valueExpr:"tag"}},
{source:"1",type:"pointClick",targets:["2"],action:"updateTitle",specification:{prefix:"% Inaccurate Claims and % Unverified Amount by SKU for
",valueExpr:"tag"}}
]
}
];
config={};
config.tabs = tabs;