Generate Barchart from List
up vote
2
down vote
favorite
I have this JPA query from which I want to generate Angular Barchart from Spring:
public List<PaymentTransactionsDailyFacts> findPaymentTransactionsDailyFacts(LocalDateTime start_date, LocalDateTime end_date) {
String hql = "SELECT SUM(amount) AS sum_volume, COUNT(*) AS sum_Transactions " +
" WHERE (created_at BETWEEN :start_date AND :end_date )" +
" GROUP BY DATE(created_at)";
TypedQuery<PaymentTransactionsDailyFacts> query = entityManager.createQuery(hql,
PaymentTransactionsDailyFacts.class).setParameter("start_date", start_date).setParameter("end_date", end_date);
List<PaymentTransactionsDailyFacts> data = query.getResultList();
return data;
}
Expected query result:
Date | Amount| Number of transactions per day |
11-11-2018 | 30 | 3 |
11-12-2018 | 230 | 13 |
Mapped Object from JPA query:
public class DashboardDTO {
private Date date;
private int sum_volume;
private int sum_Transactions;
... getters and setters
}
Angular Service:
@Injectable({
providedIn: 'root'
})
export class DashboardService {
constructor(private http: HttpClient) {
}
getCurruncyList(): Observable<Array<CurruncyList>> {
return this.http.get<Array<CurruncyList>>(environment.api.urls.dashboard.getVolumes);
}
}
Interface
export interface CurruncyList {
date: Date,
amount: number,
number_of_transactions: number
}
Dashboard component with Barchart:
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor() {
}
ngOnInit() {
this.barChart();
}
barChart() {
this.barData = {
labels: ['02-10-2018', '03-10-2018', '04-10-2018', '05-10-2018', '06-10-2018', '07-10-2018', '08-10-2018'],
datasets: [
{
label: 'USD',
backgroundColor: '#42A5F5',
borderColor: '#1E88E5',
data: [65, 59, 80, 81, 56, 55, 40]
},
{
label: 'EUR',
backgroundColor: '#9CCC65',
borderColor: '#7CB342',
data: [28, 48, 40, 19, 86, 27, 90]
}
]
}
}
}
How I can generate Barchant from <Array<CurruncyList>
? I would like to take the data from database query listed above using the above code.
Update: tested example:
import {Component, OnInit} from '@angular/core';
import {DashboardService} from "../service/dashboard.service";
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor(private dashboardService: DashboardService) {
}
ngOnInit() {
this.barChart();
}
barChart(){
this.dashboardService.getCurruncyList().subscribe(data => {
this.barData = data.map(t => t.date);
response.map(function (o) {
return {
data: 22,
label: o.date
};
});
});
}
}
java angular typescript angular6
This question has an open bounty worth +50
reputation from user1285928 ending in 3 days.
Looking for an answer drawing from credible and/or official sources.
add a comment |
up vote
2
down vote
favorite
I have this JPA query from which I want to generate Angular Barchart from Spring:
public List<PaymentTransactionsDailyFacts> findPaymentTransactionsDailyFacts(LocalDateTime start_date, LocalDateTime end_date) {
String hql = "SELECT SUM(amount) AS sum_volume, COUNT(*) AS sum_Transactions " +
" WHERE (created_at BETWEEN :start_date AND :end_date )" +
" GROUP BY DATE(created_at)";
TypedQuery<PaymentTransactionsDailyFacts> query = entityManager.createQuery(hql,
PaymentTransactionsDailyFacts.class).setParameter("start_date", start_date).setParameter("end_date", end_date);
List<PaymentTransactionsDailyFacts> data = query.getResultList();
return data;
}
Expected query result:
Date | Amount| Number of transactions per day |
11-11-2018 | 30 | 3 |
11-12-2018 | 230 | 13 |
Mapped Object from JPA query:
public class DashboardDTO {
private Date date;
private int sum_volume;
private int sum_Transactions;
... getters and setters
}
Angular Service:
@Injectable({
providedIn: 'root'
})
export class DashboardService {
constructor(private http: HttpClient) {
}
getCurruncyList(): Observable<Array<CurruncyList>> {
return this.http.get<Array<CurruncyList>>(environment.api.urls.dashboard.getVolumes);
}
}
Interface
export interface CurruncyList {
date: Date,
amount: number,
number_of_transactions: number
}
Dashboard component with Barchart:
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor() {
}
ngOnInit() {
this.barChart();
}
barChart() {
this.barData = {
labels: ['02-10-2018', '03-10-2018', '04-10-2018', '05-10-2018', '06-10-2018', '07-10-2018', '08-10-2018'],
datasets: [
{
label: 'USD',
backgroundColor: '#42A5F5',
borderColor: '#1E88E5',
data: [65, 59, 80, 81, 56, 55, 40]
},
{
label: 'EUR',
backgroundColor: '#9CCC65',
borderColor: '#7CB342',
data: [28, 48, 40, 19, 86, 27, 90]
}
]
}
}
}
How I can generate Barchant from <Array<CurruncyList>
? I would like to take the data from database query listed above using the above code.
Update: tested example:
import {Component, OnInit} from '@angular/core';
import {DashboardService} from "../service/dashboard.service";
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor(private dashboardService: DashboardService) {
}
ngOnInit() {
this.barChart();
}
barChart(){
this.dashboardService.getCurruncyList().subscribe(data => {
this.barData = data.map(t => t.date);
response.map(function (o) {
return {
data: 22,
label: o.date
};
});
});
}
}
java angular typescript angular6
This question has an open bounty worth +50
reputation from user1285928 ending in 3 days.
Looking for an answer drawing from credible and/or official sources.
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I have this JPA query from which I want to generate Angular Barchart from Spring:
public List<PaymentTransactionsDailyFacts> findPaymentTransactionsDailyFacts(LocalDateTime start_date, LocalDateTime end_date) {
String hql = "SELECT SUM(amount) AS sum_volume, COUNT(*) AS sum_Transactions " +
" WHERE (created_at BETWEEN :start_date AND :end_date )" +
" GROUP BY DATE(created_at)";
TypedQuery<PaymentTransactionsDailyFacts> query = entityManager.createQuery(hql,
PaymentTransactionsDailyFacts.class).setParameter("start_date", start_date).setParameter("end_date", end_date);
List<PaymentTransactionsDailyFacts> data = query.getResultList();
return data;
}
Expected query result:
Date | Amount| Number of transactions per day |
11-11-2018 | 30 | 3 |
11-12-2018 | 230 | 13 |
Mapped Object from JPA query:
public class DashboardDTO {
private Date date;
private int sum_volume;
private int sum_Transactions;
... getters and setters
}
Angular Service:
@Injectable({
providedIn: 'root'
})
export class DashboardService {
constructor(private http: HttpClient) {
}
getCurruncyList(): Observable<Array<CurruncyList>> {
return this.http.get<Array<CurruncyList>>(environment.api.urls.dashboard.getVolumes);
}
}
Interface
export interface CurruncyList {
date: Date,
amount: number,
number_of_transactions: number
}
Dashboard component with Barchart:
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor() {
}
ngOnInit() {
this.barChart();
}
barChart() {
this.barData = {
labels: ['02-10-2018', '03-10-2018', '04-10-2018', '05-10-2018', '06-10-2018', '07-10-2018', '08-10-2018'],
datasets: [
{
label: 'USD',
backgroundColor: '#42A5F5',
borderColor: '#1E88E5',
data: [65, 59, 80, 81, 56, 55, 40]
},
{
label: 'EUR',
backgroundColor: '#9CCC65',
borderColor: '#7CB342',
data: [28, 48, 40, 19, 86, 27, 90]
}
]
}
}
}
How I can generate Barchant from <Array<CurruncyList>
? I would like to take the data from database query listed above using the above code.
Update: tested example:
import {Component, OnInit} from '@angular/core';
import {DashboardService} from "../service/dashboard.service";
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor(private dashboardService: DashboardService) {
}
ngOnInit() {
this.barChart();
}
barChart(){
this.dashboardService.getCurruncyList().subscribe(data => {
this.barData = data.map(t => t.date);
response.map(function (o) {
return {
data: 22,
label: o.date
};
});
});
}
}
java angular typescript angular6
I have this JPA query from which I want to generate Angular Barchart from Spring:
public List<PaymentTransactionsDailyFacts> findPaymentTransactionsDailyFacts(LocalDateTime start_date, LocalDateTime end_date) {
String hql = "SELECT SUM(amount) AS sum_volume, COUNT(*) AS sum_Transactions " +
" WHERE (created_at BETWEEN :start_date AND :end_date )" +
" GROUP BY DATE(created_at)";
TypedQuery<PaymentTransactionsDailyFacts> query = entityManager.createQuery(hql,
PaymentTransactionsDailyFacts.class).setParameter("start_date", start_date).setParameter("end_date", end_date);
List<PaymentTransactionsDailyFacts> data = query.getResultList();
return data;
}
Expected query result:
Date | Amount| Number of transactions per day |
11-11-2018 | 30 | 3 |
11-12-2018 | 230 | 13 |
Mapped Object from JPA query:
public class DashboardDTO {
private Date date;
private int sum_volume;
private int sum_Transactions;
... getters and setters
}
Angular Service:
@Injectable({
providedIn: 'root'
})
export class DashboardService {
constructor(private http: HttpClient) {
}
getCurruncyList(): Observable<Array<CurruncyList>> {
return this.http.get<Array<CurruncyList>>(environment.api.urls.dashboard.getVolumes);
}
}
Interface
export interface CurruncyList {
date: Date,
amount: number,
number_of_transactions: number
}
Dashboard component with Barchart:
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor() {
}
ngOnInit() {
this.barChart();
}
barChart() {
this.barData = {
labels: ['02-10-2018', '03-10-2018', '04-10-2018', '05-10-2018', '06-10-2018', '07-10-2018', '08-10-2018'],
datasets: [
{
label: 'USD',
backgroundColor: '#42A5F5',
borderColor: '#1E88E5',
data: [65, 59, 80, 81, 56, 55, 40]
},
{
label: 'EUR',
backgroundColor: '#9CCC65',
borderColor: '#7CB342',
data: [28, 48, 40, 19, 86, 27, 90]
}
]
}
}
}
How I can generate Barchant from <Array<CurruncyList>
? I would like to take the data from database query listed above using the above code.
Update: tested example:
import {Component, OnInit} from '@angular/core';
import {DashboardService} from "../service/dashboard.service";
@Component({
selector: 'app-dashboard',
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
export class DashboardComponent implements OnInit {
barData: any;
constructor(private dashboardService: DashboardService) {
}
ngOnInit() {
this.barChart();
}
barChart(){
this.dashboardService.getCurruncyList().subscribe(data => {
this.barData = data.map(t => t.date);
response.map(function (o) {
return {
data: 22,
label: o.date
};
});
});
}
}
java angular typescript angular6
java angular typescript angular6
edited 2 days ago
asked Nov 8 at 10:28
Peter Penzov
6955177371
6955177371
This question has an open bounty worth +50
reputation from user1285928 ending in 3 days.
Looking for an answer drawing from credible and/or official sources.
This question has an open bounty worth +50
reputation from user1285928 ending in 3 days.
Looking for an answer drawing from credible and/or official sources.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
You need to subscribe in your component and generate the dataLabels using Array.map as follows,
constructor(private chartService : DashboardService)
renderChart(){
this.chartService.getCurruncyList().subscribe(data=>{
this.chartLables = data.map(t=>t.date);
response.map(function (o) {
return {
data: push the transactions count
label: o.date
};
});
}
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I putdata:
from the Array?
– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
You need to subscribe in your component and generate the dataLabels using Array.map as follows,
constructor(private chartService : DashboardService)
renderChart(){
this.chartService.getCurruncyList().subscribe(data=>{
this.chartLables = data.map(t=>t.date);
response.map(function (o) {
return {
data: push the transactions count
label: o.date
};
});
}
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I putdata:
from the Array?
– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
add a comment |
up vote
2
down vote
You need to subscribe in your component and generate the dataLabels using Array.map as follows,
constructor(private chartService : DashboardService)
renderChart(){
this.chartService.getCurruncyList().subscribe(data=>{
this.chartLables = data.map(t=>t.date);
response.map(function (o) {
return {
data: push the transactions count
label: o.date
};
});
}
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I putdata:
from the Array?
– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
add a comment |
up vote
2
down vote
up vote
2
down vote
You need to subscribe in your component and generate the dataLabels using Array.map as follows,
constructor(private chartService : DashboardService)
renderChart(){
this.chartService.getCurruncyList().subscribe(data=>{
this.chartLables = data.map(t=>t.date);
response.map(function (o) {
return {
data: push the transactions count
label: o.date
};
});
}
You need to subscribe in your component and generate the dataLabels using Array.map as follows,
constructor(private chartService : DashboardService)
renderChart(){
this.chartService.getCurruncyList().subscribe(data=>{
this.chartLables = data.map(t=>t.date);
response.map(function (o) {
return {
data: push the transactions count
label: o.date
};
});
}
answered Nov 11 at 4:27
Sajeetharan
113k27153210
113k27153210
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I putdata:
from the Array?
– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
add a comment |
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I putdata:
from the Array?
– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
I updated the post. What should I put for data?
– Peter Penzov
2 days ago
How should I put
data:
from the Array?– Peter Penzov
2 days ago
How should I put
data:
from the Array?– Peter Penzov
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
@Sajeetharan Can you advice, please?
– user1285928
2 days ago
Data should be transactions
– Sajeetharan
yesterday
Data should be transactions
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
data should be an array so you need data.push ( your object);
– Sajeetharan
yesterday
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53205837%2fgenerate-barchart-from-list%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password