-
Notifications
You must be signed in to change notification settings - Fork 0
/
Settled.java
117 lines (76 loc) · 2.42 KB
/
Settled.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package com.bet.application;
import java.util.ArrayList;
import java.util.Iterator;
import com.lib.commonFunctions.CommonFunctions;
public class Settled extends CommonFunctions {
/*
*
* this function has major business logic to find which customer is well
* settled
*/
public void FindSettledCustomers() {
//Get Excel file name
String testDataFile = getValueFromPropertiesFile(
"Configuration.properties", "baseLocation")
+ getValueFromPropertiesFile("Configuration.properties",
"setteledataFile");
String sheetName = "Settled";
//Get all data from excel
ArrayList<ArrayList<String>> output = readAllDataFromExcel(
testDataFile, sheetName);
//Sort data from Excel
output = sortExcelData(output);
Iterator<ArrayList<String>> it = output.listIterator();
// Group customer by customer id and find customer is settled or not
int winCount = 0;
ArrayList<String> lastPulledRow = it.next();
String lastPulledRowCustomerID = lastPulledRow.get(0);
double lastPulledRowWinValue = Double.parseDouble(lastPulledRow.get(4));
if (lastPulledRowWinValue > 0.0)
{
winCount++;
}
int countForCustomerId = 1;
while (it.hasNext()) {
ArrayList<String> Row = it.next();
String RowCustomerId = Row.get(0);
double RowWin = Double.parseDouble(Row.get(4));
if (lastPulledRowCustomerID.equals(RowCustomerId)) {
countForCustomerId++;
if (RowWin > 0.0)
{
winCount++;
}
}
else
{
if (findPercentage(countForCustomerId, winCount) >= 60.0) {
System.out.println("Customer with Customer ID "
+ lastPulledRowCustomerID + " is well Setteled");
}
winCount = 0;
if (RowWin > 0.0)
{
winCount++;
}
lastPulledRowCustomerID = RowCustomerId;
countForCustomerId = 1;
}
}
if (findPercentage(countForCustomerId, winCount) >= 60.0) {
System.out.println("Customer with Customer ID "
+ lastPulledRowCustomerID + " is well Setteled");
}
}
/*
* find percentage of win for given customer bet count and returns value in
* double data type
*/
public double findPercentage(int countForCustomerId, int winCount) {
return winCount * 100 / countForCustomerId;
}
public static void main(String[] args) {
Settled set = new Settled();
set.FindSettledCustomers();
}
}