Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
IncomeCalculator
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
neel
IncomeCalculator
Commits
ae788edd
Commit
ae788edd
authored
Apr 28, 2020
by
neel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Enabled audit logs in all services
parent
0fbafda4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
589 additions
and
563 deletions
+589
-563
src/main/java/com/iRecruit/modules/auth/controller/LeaderCalc.java
+2
-1
src/main/java/com/iRecruit/modules/auth/controller/NGPACalc.java
+1
-1
src/main/java/com/iRecruit/modules/auth/controller/NGPAtoNGPLCalc.java
+1
-1
src/main/java/com/iRecruit/modules/auth/service/impl/LeaderCalcServiceImpl.java
+585
-560
No files found.
src/main/java/com/iRecruit/modules/auth/controller/LeaderCalc.java
View file @
ae788edd
...
...
@@ -51,8 +51,9 @@ public class LeaderCalc {
LeaderCalcConfig
LeaderCalcConfig
;
@PostMapping
(
value
=
"/leaderCalculation"
,
headers
=
"Accept=application/json"
)
@ApiOperation
(
"Create leadercalc"
)
// @AuditLogs(isRequest = true, isResponse = true,service="Create
leadercalc")
@AuditLogs
(
isRequest
=
true
,
isResponse
=
true
,
service
=
"
leadercalc"
)
//Neel – 20-Apr-2020 – Tata - Leader calculation – Added method for calculation of leader sheet
public
ResponseEntity
<?>
Calculate
(
@RequestBody
Map
<
String
,
Object
>
lookupRequestObject
)
throws
JsonProcessingException
{
System
.
out
.
println
(
"in fyc contrroler"
);
System
.
out
.
println
(
"in fycmapping"
);
...
...
src/main/java/com/iRecruit/modules/auth/controller/NGPACalc.java
View file @
ae788edd
...
...
@@ -53,7 +53,7 @@ public class NGPACalc {
LeaderCalcConfig
LeaderCalcConfig
;
@PostMapping
(
value
=
"/ngpaCalculation"
,
headers
=
"Accept=application/json"
)
@ApiOperation
(
"Create ngpacalc"
)
// @AuditLogs(isRequest = true, isResponse = true,service="Create leadercalc
")
@AuditLogs
(
isRequest
=
true
,
isResponse
=
true
,
service
=
"Ngpa service
"
)
@JsonSerialize
public
ResponseEntity
<?>
CalculateNGPA
(
@RequestBody
Map
<
String
,
Object
>
lookupRequestObject
)
throws
JsonProcessingException
{
System
.
out
.
println
(
"in ngpa contrroler"
);
...
...
src/main/java/com/iRecruit/modules/auth/controller/NGPAtoNGPLCalc.java
View file @
ae788edd
...
...
@@ -52,7 +52,7 @@ public class NGPAtoNGPLCalc {
LeaderCalcConfig
LeaderCalcConfig
;
@PostMapping
(
value
=
"/ngpatongplCalculation"
,
headers
=
"Accept=application/json"
)
@ApiOperation
(
"Create ngplcalc"
)
// @AuditLogs(isRequest = true, isResponse = true,service="Create leader
calc")
@AuditLogs
(
isRequest
=
true
,
isResponse
=
true
,
service
=
"ngpatongpl
calc"
)
@JsonSerialize
public
ResponseEntity
<?>
CalculateNGPL
(
@RequestBody
Map
<
String
,
Object
>
lookupRequestObject
)
throws
JsonProcessingException
{
System
.
out
.
println
(
"in ngpl contrroler"
);
...
...
src/main/java/com/iRecruit/modules/auth/service/impl/LeaderCalcServiceImpl.java
View file @
ae788edd
package
com
.
iRecruit
.
modules
.
auth
.
service
.
impl
;
import
java.util.List
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.google.gson.JsonObject
;
import
com.iRecruit.constant.LeaderCalcConfig
;
import
com.iRecruit.constant.TemplateConfig
;
import
com.iRecruit.exception.ResourceNotFoundException
;
import
com.iRecruit.modules.auth.controller.LeaderCalc
;
import
com.iRecruit.modules.auth.service.FycMappingService
;
import
com.iRecruit.modules.auth.service.LeaderCalcService
;
import
com.iRecruit.constant.LeaderCalcConfig
;
@Service
public
class
LeaderCalcServiceImpl
implements
LeaderCalcService
{
@Autowired
LeaderCalcConfig
leaderCalcConfig
;
public
JSONObject
calculate
(
String
data
)
{
JSONObject
InputData
=
new
JSONObject
(
data
);
JSONObject
Calc_JSON
=
InputData
.
getJSONObject
(
"CALC_JSON"
);
String
leader_code
=
Calc_JSON
.
getString
(
"LEADER_CODE"
);
String
leader_designation
=
Calc_JSON
.
getString
(
"LEADER_DESIGNATION"
);
String
leader_name
=
Calc_JSON
.
getString
(
"LEADER_NAME"
);
String
leader_firm_name
=
Calc_JSON
.
getString
(
"LEADER_FIRM_NAME"
);
double
ELIGIBLE_PREMIUM
=
Calc_JSON
.
getDouble
(
"ELIGIBLE_PREMIUM"
);
double
COMMISION_RATE
=
Calc_JSON
.
getDouble
(
"COMMISION_RATE"
);
JSONObject
NGPA_Inputs_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
NGPA_Inputs_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
NGPA_Inputs_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
BAU_Inputs_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs2_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
JSONObject
BAU_Inputs2_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
JSONObject
BAU_Inputs2_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
double
NGPA_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"NGPA_DT"
);
double
NOP_NGPA_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"NOP_NGPA_DT"
);
double
CASE_SIZE_PER_NOP_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"CASE_SIZE_PER_NOP_DT"
);
double
NGPA_L1
=
NGPA_Inputs_L1
.
getDouble
(
"NGPA_L1"
);
double
NOP_NGPA_L1
=
NGPA_Inputs_L1
.
getDouble
(
"NOP_NGPA_L1"
);
double
CASE_SIZE_PER_NOP_L1
=
NGPA_Inputs_L1
.
getDouble
(
"CASE_SIZE_PER_NOP_L1"
);
double
NGPA_L2
=
NGPA_Inputs_L2
.
getDouble
(
"NGPA_L2"
);
double
NOP_NGPA_L2
=
NGPA_Inputs_L2
.
getDouble
(
"NOP_NGPA_L2"
);
double
CASE_SIZE_PER_NOP_L2
=
NGPA_Inputs_L2
.
getDouble
(
"CASE_SIZE_PER_NOP_L2"
);
NGPA_Inputs_DT
.
put
(
"TOTAL_NGPA_WNBP_DT"
,
Multiplication
(
NGPA_Dt
,
NOP_NGPA_Dt
,
CASE_SIZE_PER_NOP_Dt
));
NGPA_Inputs_L1
.
put
(
"TOTAL_NGPA_WNBP_L1"
,
Multiplication
(
NGPA_L1
,
NOP_NGPA_L1
,
CASE_SIZE_PER_NOP_L1
));
NGPA_Inputs_L2
.
put
(
"TOTAL_NGPA_WNBP_L2"
,
Multiplication
(
NGPA_L2
,
NOP_NGPA_L2
,
CASE_SIZE_PER_NOP_L2
));
double
Total_NGPA_WNBP_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"TOTAL_NGPA_WNBP_DT"
);
double
Total_NGPA_WNBP_L1
=
NGPA_Inputs_L1
.
getDouble
(
"TOTAL_NGPA_WNBP_L1"
);
double
Total_NGPA_WNBP_L2
=
NGPA_Inputs_L2
.
getDouble
(
"TOTAL_NGPA_WNBP_L2"
);
NGPA_Inputs_DT
.
put
(
"TOTAL_NGPA_EP_1.25_DT"
,
Multiplication
(
Total_NGPA_WNBP_Dt
,
ELIGIBLE_PREMIUM
,
1
));
NGPA_Inputs_L1
.
put
(
"TOTAL_NGPA_EP_1.25_L1"
,
Multiplication
(
Total_NGPA_WNBP_L1
,
ELIGIBLE_PREMIUM
,
1
));
NGPA_Inputs_L2
.
put
(
"TOTAL_NGPA_EP_1.25_L2"
,
Multiplication
(
Total_NGPA_WNBP_L2
,
ELIGIBLE_PREMIUM
,
1
));
JSONObject
Total
=
new
JSONObject
();
Calc_JSON
.
put
(
"TOTAL"
,
Total
);
JSONObject
NGPA_INPUTS
=
new
JSONObject
();
JSONObject
BAU_INPUTS
=
new
JSONObject
();
JSONObject
BAU_INPUTS_2
=
new
JSONObject
();
JSONObject
TOTAL
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"TOTAL"
);
TOTAL
.
put
(
"NGPA_INPUTS"
,
NGPA_INPUTS
);
TOTAL
.
put
(
"BAU_INPUTS"
,
BAU_INPUTS
);
TOTAL
.
put
(
"BAU_INPUTS_2"
,
BAU_INPUTS_2
);
JSONObject
NGPA_Inputs_TOTAL
=
TOTAL
.
getJSONObject
(
"NGPA_INPUTS"
);
double
TOTAL_NGPA_EP_125_DT
=
NGPA_Inputs_DT
.
getDouble
(
"TOTAL_NGPA_EP_1.25_DT"
);
double
TOTAL_NGPA_EP_125_L1
=
NGPA_Inputs_L1
.
getDouble
(
"TOTAL_NGPA_EP_1.25_L1"
);
double
TOTAL_NGPA_EP_125_L2
=
NGPA_Inputs_L2
.
getDouble
(
"TOTAL_NGPA_EP_1.25_L2"
);
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA"
,
Addition
(
NGPA_Dt
,
NGPA_L1
,
NGPA_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA_WNBP_TOTAL"
,
Addition
(
Total_NGPA_WNBP_Dt
,
Total_NGPA_WNBP_L1
,
Total_NGPA_WNBP_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA_EP_1.25_TOTAL"
,
Addition
(
TOTAL_NGPA_EP_125_DT
,
TOTAL_NGPA_EP_125_L1
,
TOTAL_NGPA_EP_125_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_CASE_SIZE_PER_NOP"
,
Average
(
Double
.
valueOf
(
CASE_SIZE_PER_NOP_Dt
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_L1
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_L2
)));
double
TOTAL_NGPA_WNBP_TOTAL
=
NGPA_Inputs_TOTAL
.
getDouble
(
"TOTAL_NGPA_WNBP_TOTAL"
);
double
TOTAL_CASE_SIZE_PER_NOP
=
NGPA_Inputs_TOTAL
.
getDouble
(
"TOTAL_CASE_SIZE_PER_NOP"
);
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NOP_NGPA"
,
Double
.
valueOf
(
TOTAL_NGPA_WNBP_TOTAL
)
/
Double
.
valueOf
(
TOTAL_CASE_SIZE_PER_NOP
));
// BAU table
double
Active_Agent_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"ACTIVE_AGENT_BAU_DT"
);
double
NOP_NGPA_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"NOP_AGENT_BAU_DT"
);
double
CASE_SIZE_PER_NOP_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_DT"
);
double
Active_Agent_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"ACTIVE_AGENT_BAU_L1"
);
double
NOP_NGPA_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"NOP_AGENT_BAU_L1"
);
double
CASE_SIZE_PER_NOP_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_L1"
);
double
Active_Agent_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"ACTIVE_AGENT_BAU_L2"
);
double
NOP_NGPA_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"NOP_AGENT_BAU_L2"
);
double
CASE_SIZE_PER_NOP_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_L2"
);
BAU_Inputs_DT
.
put
(
"TOTAL_BAU_WNBP_DT"
,
Multiplication
(
Active_Agent_BAU_Dt
,
NOP_NGPA_BAU_Dt
,
CASE_SIZE_PER_NOP_BAU_Dt
));
BAU_Inputs_L1
.
put
(
"TOTAL_BAU_WNBP_L1"
,
Multiplication
(
Active_Agent_BAU_L1
,
NOP_NGPA_BAU_L1
,
CASE_SIZE_PER_NOP_BAU_L1
));
BAU_Inputs_L2
.
put
(
"TOTAL_BAU_WNBP_L2"
,
Multiplication
(
Active_Agent_BAU_L2
,
NOP_NGPA_BAU_L2
,
CASE_SIZE_PER_NOP_BAU_L2
));
JSONObject
BAU_Inputs_TOTAL
=
TOTAL
.
getJSONObject
(
"BAU_INPUTS"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_ACTIVE_AGENT_BAU"
,
Addition
(
Active_Agent_BAU_Dt
,
NOP_NGPA_BAU_Dt
,
CASE_SIZE_PER_NOP_BAU_Dt
));
double
TOTAL_BAU_WNBP_DT
=
BAU_Inputs_DT
.
getDouble
(
"TOTAL_BAU_WNBP_DT"
);
double
TOTAL_BAU_WNBP_L1
=
BAU_Inputs_L1
.
getDouble
(
"TOTAL_BAU_WNBP_L1"
);
double
TOTAL_BAU_WNBP_L2
=
BAU_Inputs_L2
.
getDouble
(
"TOTAL_BAU_WNBP_L2"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_BAU_WNBP_TOATL"
,
Addition
(
TOTAL_BAU_WNBP_DT
,
TOTAL_BAU_WNBP_L1
,
TOTAL_BAU_WNBP_L2
));
BAU_Inputs_TOTAL
.
put
(
"TOTAL_CASE_SIZE_PER_NOP_BAU"
,
Average
(
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_Dt
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_L1
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_L2
)));
double
TOTAL_BAU_WNBP_TOATL
=
BAU_Inputs_TOTAL
.
getDouble
(
"TOTAL_BAU_WNBP_TOATL"
);
double
TOTAL_CASE_SIZE_PER_NOP_BAU
=
BAU_Inputs_TOTAL
.
getDouble
(
"TOTAL_CASE_SIZE_PER_NOP_BAU"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_NOP_AGENT_BAU"
,
Double
.
valueOf
(
TOTAL_BAU_WNBP_TOATL
)
/
Double
.
valueOf
(
TOTAL_CASE_SIZE_PER_NOP_BAU
));
// BAU2 table
double
ACTIVE_AGENT_LP_DT
=
BAU_Inputs2_DT
.
getDouble
(
"ACTIVE_AGENT_LP_DT"
);
double
WNBP_LP_DT
=
BAU_Inputs2_DT
.
getDouble
(
"WNBP_LP_DT"
);
double
PA_DT
=
BAU_Inputs2_DT
.
getDouble
(
"PA_DT"
);
double
WNBP_NLA_DT
=
BAU_Inputs2_DT
.
getDouble
(
"WNBP_NLA_DT"
);
double
ACTIVE_AGENT_LP_L1
=
BAU_Inputs2_L1
.
getDouble
(
"ACTIVE_AGENT_LP_L1"
);
double
WNBP_LP_L1
=
BAU_Inputs2_L1
.
getDouble
(
"WNBP_LP_L1"
);
double
PA_L1
=
BAU_Inputs2_L1
.
getDouble
(
"PA_L1"
);
double
WNBP_NLA_L1
=
BAU_Inputs2_L1
.
getDouble
(
"WNBP_NLA_L1"
);
double
ACTIVE_AGENT_LP_L2
=
BAU_Inputs2_L2
.
getDouble
(
"ACTIVE_AGENT_LP_L2"
);
double
WNBP_LP_L2
=
BAU_Inputs2_L2
.
getDouble
(
"WNBP_LP_L2"
);
double
PA_L2
=
BAU_Inputs2_L2
.
getDouble
(
"PA_L2"
);
double
WNBP_NLA_L2
=
BAU_Inputs2_L2
.
getDouble
(
"WNBP_NLA_L2"
);
JSONObject
BAU_Inputs_2_TOTAL
=
TOTAL
.
getJSONObject
(
"BAU_INPUTS_2"
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_WNBP_NLA"
,
WNBP_NLA_DT
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_WNBP_LP"
,
WNBP_LP_DT
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_ACTIVE_AGENT_LP"
,
Addition
(
ACTIVE_AGENT_LP_DT
,
ACTIVE_AGENT_LP_L1
,
ACTIVE_AGENT_LP_L2
));
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_PA"
,
Addition
(
PA_DT
,
PA_L1
,
PA_L2
));
// Earning table
JSONObject
DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
);
JSONObject
L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
);
JSONObject
L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
);
// JSONObject L2
// =InputData.getJSONObject("CALC_JSON").getJSONObject("L2");
JSONObject
EARNING_DT
=
new
JSONObject
();
JSONObject
EARNING_L1
=
new
JSONObject
();
JSONObject
EARNING_L2
=
new
JSONObject
();
JSONObject
EARNING_TOTAL
=
new
JSONObject
();
DT
.
put
(
"EARNING"
,
EARNING_DT
);
L1
.
put
(
"EARNING_L1"
,
EARNING_L1
);
L2
.
put
(
"EARNING_L2"
,
EARNING_L2
);
TOTAL
.
put
(
"EARNING_TOTAL"
,
EARNING_TOTAL
);
EARNING_DT
=
DT
.
getJSONObject
(
"EARNING"
);
EARNING_L1
=
L1
.
getJSONObject
(
"EARNING_L1"
);
EARNING_L2
=
L2
.
getJSONObject
(
"EARNING_L2"
);
EARNING_TOTAL
=
TOTAL
.
getJSONObject
(
"EARNING_TOTAL"
);
EARNING_DT
.
put
(
"AGENT_FYC_25_DT"
,
calc
(
Total_NGPA_WNBP_Dt
,
TOTAL_BAU_WNBP_DT
,
COMMISION_RATE
));
EARNING_L1
.
put
(
"AGENT_FYC_25_L1"
,
calc
(
Total_NGPA_WNBP_L1
,
TOTAL_BAU_WNBP_L1
,
COMMISION_RATE
));
EARNING_L2
.
put
(
"AGENT_FYC_25_L2"
,
calc
(
Total_NGPA_WNBP_L2
,
TOTAL_BAU_WNBP_L2
,
COMMISION_RATE
));
double
AGENT_FYC_25_DT
=
EARNING_DT
.
getDouble
(
"AGENT_FYC_25_DT"
);
double
AGENT_FYC_25_L1
=
EARNING_L1
.
getDouble
(
"AGENT_FYC_25_L1"
);
double
AGENT_FYC_25_L2
=
EARNING_L2
.
getDouble
(
"AGENT_FYC_25_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_AGENT_FYC_25"
,
Addition
(
AGENT_FYC_25_DT
,
AGENT_FYC_25_L1
,
AGENT_FYC_25_L2
));
EARNING_TOTAL
.
put
(
"TOTAL_FYC_CREDIT"
,
0
);
JSONArray
map
=
leaderCalcConfig
.
getValue
(
"mpb"
);
double
mappingDT
=
0
;
double
mappingL1
=
0
;
double
mappingL2
=
0
;
double
mappingDT_minimum_fyc
=
0
;
for
(
int
i
=
0
;
i
<
map
.
length
();
i
++)
{
String
Desgination
=
map
.
getJSONObject
(
i
).
getString
(
"designation"
);
if
(
leader_designation
.
equals
(
Desgination
))
{
mappingDT
=
map
.
getJSONObject
(
i
).
getDouble
(
"DT"
);
mappingL1
=
map
.
getJSONObject
(
i
).
getDouble
(
"l1"
);
mappingL2
=
map
.
getJSONObject
(
i
).
getDouble
(
"l2"
);
mappingDT_minimum_fyc
=
map
.
getJSONObject
(
i
).
getDouble
(
"mapping_DT_minimum_fyc"
);
break
;
}
}
;
EARNING_DT
.
put
(
"FYC_CREDIT_DT"
,
mappingDT
);
EARNING_L1
.
put
(
"FYC_CREDIT_L1"
,
mappingL1
+
"%"
);
EARNING_L2
.
put
(
"FYC_CREDIT_L2"
,
mappingL2
+
"%"
);
if
(
Double
.
valueOf
(
AGENT_FYC_25_DT
)
>
mappingDT_minimum_fyc
)
{
EARNING_DT
.
put
(
"WFYC_DT"
,
((
AGENT_FYC_25_DT
)
*
mappingDT
)
/
100
);
}
else
{
EARNING_DT
.
put
(
"WFYC_DT"
,
"0"
);
}
double
WFYC_DT
=
EARNING_DT
.
getDouble
(
"WFYC_DT"
);
double
FYC_CREDIT_L1
=
mappingL1
;
double
FYC_CREDIT_L2
=
mappingL2
;
if
(
WFYC_DT
==
0
)
{
EARNING_L1
.
put
(
"WFYC_L1"
,
"0"
);
}
else
{
EARNING_L1
.
put
(
"WFYC_L1"
,
Multiplication
(
AGENT_FYC_25_L1
,
FYC_CREDIT_L1
,
1
));
}
double
WFYC_L1
=
EARNING_L1
.
getDouble
(
"WFYC_L1"
);
if
(
WFYC_L1
==
0
)
{
EARNING_L2
.
put
(
"WFYC_L2"
,
"0"
);
}
else
{
EARNING_L2
.
put
(
"WFYC_L2"
,
Multiplication
(
AGENT_FYC_25_L2
,
FYC_CREDIT_L2
,
1
));
}
double
WFYC_L2
=
EARNING_L2
.
getDouble
(
"WFYC_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_WFYC"
,
Addition
(
WFYC_DT
,
WFYC_L1
,
WFYC_L2
));
// fyc start
JSONArray
fycarrqay
=
leaderCalcConfig
.
getValue
(
"fyc"
);
double
TOTAL_WFYC
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_WFYC"
);
double
val
=
TOTAL_WFYC
;
double
percentage
=
0
;
for
(
int
i
=
0
;
i
<
fycarrqay
.
length
();
i
++)
{
double
minval
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
double
per
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"per"
);
if
(
val
>=
minval
&&
val
<=
maxval
)
{
percentage
=
per
;
break
;
}
}
EARNING_TOTAL
.
put
(
"TOTAL_MONTHLY_PERFORMANCE_BONUS"
,
Multiplication
((
val
*
percentage
)
/
100
,
TOTAL_WFYC
,
1
));
double
TOTAL_MONTHLY_PERFORMANCE_BONUS
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_MONTHLY_PERFORMANCE_BONUS"
);
if
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
==
0
)
{
EARNING_DT
.
put
(
"EXTRA_CREDIT_DT"
,
0
);
EARNING_DT
.
put
(
"PA_DEVELOPMENT_DT"
,
0
);
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
0
);
}
else
{
EARNING_DT
.
put
(
"EXTRA_CREDIT_DT"
,
((((
WNBP_NLA_DT
+
WNBP_LP_DT
)
*
25
)
/
100
)
*
15
)
/
100
);
EARNING_DT
.
put
(
"PA_DEVELOPMENT_DT"
,
Multiplication
(
PA_DT
,
5000
,
1
));
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
))
{
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
0
);
}
else
{
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
Multiplication
(
PA_L1
,
1500
,
1
));
}
}
double
EXTRA_CREDIT_DT
=
EARNING_DT
.
getDouble
(
"EXTRA_CREDIT_DT"
);
EARNING_L1
.
put
(
"EXTRA_CREDIT_L1"
,
0
);
EARNING_L2
.
put
(
"EXTRA_CREDIT_L2"
,
0
);
EARNING_TOTAL
.
put
(
"TOTAL_EXTRA_CREDIT"
,
EXTRA_CREDIT_DT
);
if
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
==
0
)
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
0
);
}
else
{
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
)
||
leader_designation
.
equalsIgnoreCase
(
"BA"
))
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
0
);
}
else
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
Multiplication
(
PA_L2
,
1000
,
1
));
}
}
double
PA_DEVELOPMENT_DT
=
EARNING_DT
.
getDouble
(
"PA_DEVELOPMENT_DT"
);
double
PA_DEVELOPMENT_L1
=
EARNING_L1
.
getDouble
(
"PA_DEVELOPMENT_L1"
);
double
PA_DEVELOPMENT_L2
=
EARNING_L2
.
getDouble
(
"PA_DEVELOPMENT_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_PA_DEVELOPMENT"
,
Addition
(
PA_DEVELOPMENT_DT
,
PA_DEVELOPMENT_L1
,
PA_DEVELOPMENT_L2
));
//MDB mappings
JSONArray
mdb2array
=
leaderCalcConfig
.
getValue
(
"mdb"
);
System
.
out
.
println
(
"mdb2array"
);
System
.
out
.
println
(
mdb2array
);
NGPA_Dt
=
2
;
TOTAL_NGPA_EP_125_DT
=
1250000
;
double
monthly_ep_18
=
0
;
double
monthly_ep_36
=
0
;
double
monthly_ep_72
=
0
;
double
monthly_ep_144
=
0
;
for
(
int
i
=
0
;
i
<
mdb2array
.
length
();
i
++)
{
double
MDB
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"MDB"
);
System
.
out
.
println
(
MDB
);
System
.
out
.
println
(
NGPA_Dt
);
// double maxval = fycarrqay.getJSONObject(i).getDouble("maxval");
// double per = fycarrqay.getJSONObject(i).getDouble("per");
if
(
NGPA_Dt
==
MDB
)
{
System
.
out
.
println
(
"in if"
);
monthly_ep_18
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_18"
);
monthly_ep_36
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_36"
);
monthly_ep_72
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_72"
);
monthly_ep_144
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_144"
);
break
;
}
}
System
.
out
.
println
(
"val180000"
);
System
.
out
.
println
(
monthly_ep_18
);
System
.
out
.
println
(
monthly_ep_36
);
System
.
out
.
println
(
monthly_ep_72
);
System
.
out
.
println
(
monthly_ep_144
);
if
(
TOTAL_NGPA_EP_125_DT
<
180000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
0
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
180000
&&
TOTAL_NGPA_EP_125_DT
<
360000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_18
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
360000
&&
TOTAL_NGPA_EP_125_DT
<
720000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_36
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
720000
&&
TOTAL_NGPA_EP_125_DT
<
1400000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_72
);
}
else
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_144
);
}
// System.out.println("neel");
System
.
out
.
println
(
EARNING_DT
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
));
double
MONTHLY_DEVELOPMENT_BONUS_DT
=
EARNING_DT
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
);
EARNING_L1
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_L1"
,
0
);
EARNING_L2
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_L2"
,
0
);
EARNING_TOTAL
.
put
(
"TOTAL_MONTHLY_DEVELOPMENT_BONUS"
,
MONTHLY_DEVELOPMENT_BONUS_DT
);
JSONArray
l1array
=
leaderCalcConfig
.
getValue
(
"l1slabs"
);
double
multiplier
=
0
;
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
))
{
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
0
);
}
else
if
(
Active_Agent_BAU_L1
<
4
)
{
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
0
);
}
else
{
if
(
Active_Agent_BAU_L1
>=
51
)
{
multiplier
=
500
;
}
else
{
for
(
int
i
=
0
;
i
<
l1array
.
length
();
i
++)
{
double
minval
=
l1array
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
l1array
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
if
(
Active_Agent_BAU_L1
>=
minval
&&
Active_Agent_BAU_L1
<=
maxval
)
{
multiplier
=
l1array
.
getJSONObject
(
i
).
getDouble
(
leader_designation
);
break
;
}
}
}
}
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
(
Active_Agent_BAU_L1
*
multiplier
)
+
(
ACTIVE_AGENT_LP_L1
*
500
));
JSONArray
L2Slabsarray
=
leaderCalcConfig
.
getValue
(
"l2slabs"
);
System
.
out
.
println
(
"L2Slabsarray"
);
System
.
out
.
println
(
L2Slabsarray
);
double
multiplierL2
=
0
;
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
)
||
leader_designation
.
equalsIgnoreCase
(
"BA"
))
{
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
0
);
}
else
if
(
Active_Agent_BAU_L2
<
11
)
{
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
0
);
}
else
{
if
(
Active_Agent_BAU_L2
>=
61
)
{
multiplierL2
=
500
;
}
else
{
for
(
int
i
=
0
;
i
<
L2Slabsarray
.
length
();
i
++)
{
double
minval
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
if
(
Active_Agent_BAU_L2
>=
minval
&&
Active_Agent_BAU_L2
<=
maxval
)
{
multiplierL2
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
leader_designation
);
break
;
}
}
}
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
(
Active_Agent_BAU_L2
*
multiplierL2
)
+
(
PA_L2
*
500
));
}
if
(
Active_Agent_BAU_Dt
<
4
)
{
EARNING_DT
.
put
(
"ACTIVATION_DT"
,
0
);
}
else
{
EARNING_DT
.
put
(
"ACTIVATION_DT"
,
(
ACTIVE_AGENT_LP_DT
+
Active_Agent_BAU_Dt
)
*
1000
);
}
double
ACTIVATION_L2
=
EARNING_L2
.
getDouble
(
"ACTIVATION_L2"
);
double
ACTIVATION_DT
=
EARNING_DT
.
getDouble
(
"ACTIVATION_DT"
);
double
ACTIVATION_L1
=
EARNING_L1
.
getDouble
(
"ACTIVATION_L1"
);
EARNING_TOTAL
.
put
(
"TOTAL_ACTIVATION"
,
Addition
(
ACTIVATION_DT
,
ACTIVATION_L1
,
ACTIVATION_L2
));
EARNING_DT
.
put
(
"MONTHLY_PERFORMANCE_BONUS_DT"
,
0
);
EARNING_L1
.
put
(
"MONTHLY_PERFORMANCE_BONUS_L1"
,
0
);
EARNING_L2
.
put
(
"MONTHLY_PERFORMANCE_BONUS_L2"
,
0
);
double
MONTHLY_PERFORMANCE_BONUS_DT
=
EARNING_DT
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_DT"
);
double
MONTHLY_PERFORMANCE_BONUS_L1
=
EARNING_L1
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_L1"
);
double
EXTRA_CREDIT_L1
=
EARNING_L1
.
getDouble
(
"EXTRA_CREDIT_L1"
);
double
MONTHLY_DEVELOPMENT_BONUS_L1
=
EARNING_L1
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_L1"
);
double
MONTHLY_PERFORMANCE_BONUS_L2
=
EARNING_L2
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_L2"
);
double
EXTRA_CREDIT_L2
=
EARNING_L2
.
getDouble
(
"EXTRA_CREDIT_L2"
);
double
MONTHLY_DEVELOPMENT_BONUS_L2
=
EARNING_L2
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_L2"
);
EARNING_DT
.
put
(
"TOTAL_EARNING_DT"
,
(
MONTHLY_PERFORMANCE_BONUS_DT
+
MONTHLY_DEVELOPMENT_BONUS_DT
+
EXTRA_CREDIT_DT
+
ACTIVATION_DT
+
PA_DEVELOPMENT_DT
));
EARNING_L1
.
put
(
"TOTAL_EARNING_L1"
,
(
MONTHLY_PERFORMANCE_BONUS_L1
+
MONTHLY_DEVELOPMENT_BONUS_L1
+
EXTRA_CREDIT_L1
+
ACTIVATION_L1
+
PA_DEVELOPMENT_L1
));
EARNING_L2
.
put
(
"TOTAL_EARNING_L2"
,
(
MONTHLY_PERFORMANCE_BONUS_L2
+
MONTHLY_DEVELOPMENT_BONUS_L2
+
EXTRA_CREDIT_L2
+
ACTIVATION_L2
+
PA_DEVELOPMENT_L2
));
double
TOTAL_MONTHLY_DEVELOPMENT_BONUS
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_MONTHLY_DEVELOPMENT_BONUS"
);
double
TOTAL_EXTRA_CREDIT
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_EXTRA_CREDIT"
);
double
TOTAL_ACTIVATION
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_ACTIVATION"
);
double
TOTAL_PA_DEVELOPMENT
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_PA_DEVELOPMENT"
);
EARNING_TOTAL
.
put
(
"TOTAL_EARNING_TOTAL"
,
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
+
TOTAL_MONTHLY_DEVELOPMENT_BONUS
+
TOTAL_EXTRA_CREDIT
+
TOTAL_ACTIVATION
+
TOTAL_PA_DEVELOPMENT
));
double
TOTAL_EARNING_TOTAL
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_EARNING_TOTAL"
);
EARNING_TOTAL
.
put
(
"TOTAL_ANNUALISED_EARNING"
,
(
TOTAL_EARNING_TOTAL
*
12
));
System
.
out
.
println
(
Calc_JSON
);
return
Calc_JSON
;
}
private
double
Multiplication
(
double
Str1
,
double
Str2
,
double
Str3
)
{
double
result
=
Str1
*
Str2
*
Str3
;
return
result
;
}
private
double
Addition
(
double
Str1
,
double
Str2
,
double
Str3
)
{
Double
d
=
Str1
+
Str2
+
Str3
;
// String result = String.format("%f", d);
return
d
;
}
private
double
calc
(
double
Str1
,
double
Str2
,
double
commision_rate
)
{
Double
add
=
Str1
+
Str2
;
Double
mul
=
(
add
*
commision_rate
)
/
100
;
// String result = String.format("%f", a);
return
mul
;
}
private
double
Average
(
double
Str1
,
double
Str2
,
double
Str3
)
{
double
values
[]
=
{
Str1
,
Str2
,
Str3
};
int
sum
=
0
;
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
sum
+=
values
[
i
];
double
average
=
((
double
)
sum
)
/
values
.
length
;
return
average
;
}
}
package
com
.
iRecruit
.
modules
.
auth
.
service
.
impl
;
import
java.util.List
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.google.gson.JsonObject
;
import
com.iRecruit.constant.LeaderCalcConfig
;
import
com.iRecruit.constant.TemplateConfig
;
import
com.iRecruit.exception.ResourceNotFoundException
;
import
com.iRecruit.modules.auth.controller.LeaderCalc
;
import
com.iRecruit.modules.auth.service.FycMappingService
;
import
com.iRecruit.modules.auth.service.LeaderCalcService
;
import
com.iRecruit.constant.LeaderCalcConfig
;
@Service
public
class
LeaderCalcServiceImpl
implements
LeaderCalcService
{
@Autowired
LeaderCalcConfig
leaderCalcConfig
;
public
JSONObject
calculate
(
String
data
)
{
JSONObject
InputData
=
new
JSONObject
(
data
);
JSONObject
Calc_JSON
=
InputData
.
getJSONObject
(
"CALC_JSON"
);
String
leader_code
=
Calc_JSON
.
getString
(
"LEADER_CODE"
);
String
leader_designation
=
Calc_JSON
.
getString
(
"LEADER_DESIGNATION"
);
String
leader_name
=
Calc_JSON
.
getString
(
"LEADER_NAME"
);
String
leader_firm_name
=
Calc_JSON
.
getString
(
"LEADER_FIRM_NAME"
);
double
ELIGIBLE_PREMIUM
=
Calc_JSON
.
getDouble
(
"ELIGIBLE_PREMIUM"
);
double
COMMISION_RATE
=
Calc_JSON
.
getDouble
(
"COMMISION_RATE"
);
//Neel – 20-Apr-2020 – Tata - Leader calculation – NGPA inputs table start
JSONObject
NGPA_Inputs_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
NGPA_Inputs_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
NGPA_Inputs_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
)
.
getJSONObject
(
"NGPA_INPUTS"
);
JSONObject
BAU_Inputs_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
).
getJSONObject
(
"BAU_INPUTS"
);
JSONObject
BAU_Inputs2_DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
JSONObject
BAU_Inputs2_L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
JSONObject
BAU_Inputs2_L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
)
.
getJSONObject
(
"BAU_INPUTS_2"
);
double
NGPA_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"NGPA_DT"
);
double
NOP_NGPA_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"NOP_NGPA_DT"
);
double
CASE_SIZE_PER_NOP_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"CASE_SIZE_PER_NOP_DT"
);
double
NGPA_L1
=
NGPA_Inputs_L1
.
getDouble
(
"NGPA_L1"
);
double
NOP_NGPA_L1
=
NGPA_Inputs_L1
.
getDouble
(
"NOP_NGPA_L1"
);
double
CASE_SIZE_PER_NOP_L1
=
NGPA_Inputs_L1
.
getDouble
(
"CASE_SIZE_PER_NOP_L1"
);
double
NGPA_L2
=
NGPA_Inputs_L2
.
getDouble
(
"NGPA_L2"
);
double
NOP_NGPA_L2
=
NGPA_Inputs_L2
.
getDouble
(
"NOP_NGPA_L2"
);
double
CASE_SIZE_PER_NOP_L2
=
NGPA_Inputs_L2
.
getDouble
(
"CASE_SIZE_PER_NOP_L2"
);
NGPA_Inputs_DT
.
put
(
"TOTAL_NGPA_WNBP_DT"
,
Multiplication
(
NGPA_Dt
,
NOP_NGPA_Dt
,
CASE_SIZE_PER_NOP_Dt
));
NGPA_Inputs_L1
.
put
(
"TOTAL_NGPA_WNBP_L1"
,
Multiplication
(
NGPA_L1
,
NOP_NGPA_L1
,
CASE_SIZE_PER_NOP_L1
));
NGPA_Inputs_L2
.
put
(
"TOTAL_NGPA_WNBP_L2"
,
Multiplication
(
NGPA_L2
,
NOP_NGPA_L2
,
CASE_SIZE_PER_NOP_L2
));
double
Total_NGPA_WNBP_Dt
=
NGPA_Inputs_DT
.
getDouble
(
"TOTAL_NGPA_WNBP_DT"
);
double
Total_NGPA_WNBP_L1
=
NGPA_Inputs_L1
.
getDouble
(
"TOTAL_NGPA_WNBP_L1"
);
double
Total_NGPA_WNBP_L2
=
NGPA_Inputs_L2
.
getDouble
(
"TOTAL_NGPA_WNBP_L2"
);
NGPA_Inputs_DT
.
put
(
"TOTAL_NGPA_EP_DT"
,
Multiplication
(
Total_NGPA_WNBP_Dt
,
ELIGIBLE_PREMIUM
,
1
));
NGPA_Inputs_L1
.
put
(
"TOTAL_NGPA_EP_L1"
,
Multiplication
(
Total_NGPA_WNBP_L1
,
ELIGIBLE_PREMIUM
,
1
));
NGPA_Inputs_L2
.
put
(
"TOTAL_NGPA_EP_L2"
,
Multiplication
(
Total_NGPA_WNBP_L2
,
ELIGIBLE_PREMIUM
,
1
));
JSONObject
Total
=
new
JSONObject
();
Calc_JSON
.
put
(
"TOTAL"
,
Total
);
JSONObject
NGPA_INPUTS
=
new
JSONObject
();
JSONObject
BAU_INPUTS
=
new
JSONObject
();
JSONObject
BAU_INPUTS_2
=
new
JSONObject
();
JSONObject
TOTAL
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"TOTAL"
);
TOTAL
.
put
(
"NGPA_INPUTS"
,
NGPA_INPUTS
);
TOTAL
.
put
(
"BAU_INPUTS"
,
BAU_INPUTS
);
TOTAL
.
put
(
"BAU_INPUTS_2"
,
BAU_INPUTS_2
);
JSONObject
NGPA_Inputs_TOTAL
=
TOTAL
.
getJSONObject
(
"NGPA_INPUTS"
);
double
TOTAL_NGPA_EP_125_DT
=
NGPA_Inputs_DT
.
getDouble
(
"TOTAL_NGPA_EP_DT"
);
double
TOTAL_NGPA_EP_125_L1
=
NGPA_Inputs_L1
.
getDouble
(
"TOTAL_NGPA_EP_L1"
);
double
TOTAL_NGPA_EP_125_L2
=
NGPA_Inputs_L2
.
getDouble
(
"TOTAL_NGPA_EP_L2"
);
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA"
,
Addition
(
NGPA_Dt
,
NGPA_L1
,
NGPA_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA_WNBP_TOTAL"
,
Addition
(
Total_NGPA_WNBP_Dt
,
Total_NGPA_WNBP_L1
,
Total_NGPA_WNBP_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NGPA_EP_TOTAL"
,
Addition
(
TOTAL_NGPA_EP_125_DT
,
TOTAL_NGPA_EP_125_L1
,
TOTAL_NGPA_EP_125_L2
));
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_CASE_SIZE_PER_NOP"
,
Average
(
Double
.
valueOf
(
CASE_SIZE_PER_NOP_Dt
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_L1
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_L2
)));
double
TOTAL_NGPA_WNBP_TOTAL
=
NGPA_Inputs_TOTAL
.
getDouble
(
"TOTAL_NGPA_WNBP_TOTAL"
);
double
TOTAL_CASE_SIZE_PER_NOP
=
NGPA_Inputs_TOTAL
.
getDouble
(
"TOTAL_CASE_SIZE_PER_NOP"
);
NGPA_Inputs_TOTAL
.
put
(
"TOTAL_NOP_NGPA"
,
Double
.
valueOf
(
TOTAL_NGPA_WNBP_TOTAL
)
/
Double
.
valueOf
(
TOTAL_CASE_SIZE_PER_NOP
));
//Neel – 20-Apr-2020 – Tata - Leader calculation – NGPA inputs table end
//Neel – 20-Apr-2020 – Tata - Leader calculation – BAU inputs table start
double
Active_Agent_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"ACTIVE_AGENT_BAU_DT"
);
double
NOP_NGPA_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"NOP_AGENT_BAU_DT"
);
double
CASE_SIZE_PER_NOP_BAU_Dt
=
BAU_Inputs_DT
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_DT"
);
double
Active_Agent_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"ACTIVE_AGENT_BAU_L1"
);
double
NOP_NGPA_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"NOP_AGENT_BAU_L1"
);
double
CASE_SIZE_PER_NOP_BAU_L1
=
BAU_Inputs_L1
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_L1"
);
double
Active_Agent_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"ACTIVE_AGENT_BAU_L2"
);
double
NOP_NGPA_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"NOP_AGENT_BAU_L2"
);
double
CASE_SIZE_PER_NOP_BAU_L2
=
BAU_Inputs_L2
.
getDouble
(
"CASE_SIZE_PER_NOP_BAU_L2"
);
BAU_Inputs_DT
.
put
(
"TOTAL_BAU_WNBP_DT"
,
Multiplication
(
Active_Agent_BAU_Dt
,
NOP_NGPA_BAU_Dt
,
CASE_SIZE_PER_NOP_BAU_Dt
));
BAU_Inputs_L1
.
put
(
"TOTAL_BAU_WNBP_L1"
,
Multiplication
(
Active_Agent_BAU_L1
,
NOP_NGPA_BAU_L1
,
CASE_SIZE_PER_NOP_BAU_L1
));
BAU_Inputs_L2
.
put
(
"TOTAL_BAU_WNBP_L2"
,
Multiplication
(
Active_Agent_BAU_L2
,
NOP_NGPA_BAU_L2
,
CASE_SIZE_PER_NOP_BAU_L2
));
JSONObject
BAU_Inputs_TOTAL
=
TOTAL
.
getJSONObject
(
"BAU_INPUTS"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_ACTIVE_AGENT_BAU"
,
Addition
(
Active_Agent_BAU_Dt
,
NOP_NGPA_BAU_Dt
,
CASE_SIZE_PER_NOP_BAU_Dt
));
double
TOTAL_BAU_WNBP_DT
=
BAU_Inputs_DT
.
getDouble
(
"TOTAL_BAU_WNBP_DT"
);
double
TOTAL_BAU_WNBP_L1
=
BAU_Inputs_L1
.
getDouble
(
"TOTAL_BAU_WNBP_L1"
);
double
TOTAL_BAU_WNBP_L2
=
BAU_Inputs_L2
.
getDouble
(
"TOTAL_BAU_WNBP_L2"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_BAU_WNBP_TOATL"
,
Addition
(
TOTAL_BAU_WNBP_DT
,
TOTAL_BAU_WNBP_L1
,
TOTAL_BAU_WNBP_L2
));
BAU_Inputs_TOTAL
.
put
(
"TOTAL_CASE_SIZE_PER_NOP_BAU"
,
Average
(
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_Dt
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_L1
),
Double
.
valueOf
(
CASE_SIZE_PER_NOP_BAU_L2
)));
double
TOTAL_BAU_WNBP_TOATL
=
BAU_Inputs_TOTAL
.
getDouble
(
"TOTAL_BAU_WNBP_TOATL"
);
double
TOTAL_CASE_SIZE_PER_NOP_BAU
=
BAU_Inputs_TOTAL
.
getDouble
(
"TOTAL_CASE_SIZE_PER_NOP_BAU"
);
BAU_Inputs_TOTAL
.
put
(
"TOTAL_NOP_AGENT_BAU"
,
Double
.
valueOf
(
TOTAL_BAU_WNBP_TOATL
)
/
Double
.
valueOf
(
TOTAL_CASE_SIZE_PER_NOP_BAU
));
//Neel – 20-Apr-2020 – Tata - Leader calculation – BAU inputs table end
//Neel – 20-Apr-2020 – Tata - Leader calculation – BAU2 inputs table start
double
ACTIVE_AGENT_LP_DT
=
BAU_Inputs2_DT
.
getDouble
(
"ACTIVE_AGENT_LP_DT"
);
double
WNBP_LP_DT
=
BAU_Inputs2_DT
.
getDouble
(
"WNBP_LP_DT"
);
double
PA_DT
=
BAU_Inputs2_DT
.
getDouble
(
"PA_DT"
);
double
WNBP_NLA_DT
=
BAU_Inputs2_DT
.
getDouble
(
"WNBP_NLA_DT"
);
double
ACTIVE_AGENT_LP_L1
=
BAU_Inputs2_L1
.
getDouble
(
"ACTIVE_AGENT_LP_L1"
);
double
WNBP_LP_L1
=
BAU_Inputs2_L1
.
getDouble
(
"WNBP_LP_L1"
);
double
PA_L1
=
BAU_Inputs2_L1
.
getDouble
(
"PA_L1"
);
double
WNBP_NLA_L1
=
BAU_Inputs2_L1
.
getDouble
(
"WNBP_NLA_L1"
);
double
ACTIVE_AGENT_LP_L2
=
BAU_Inputs2_L2
.
getDouble
(
"ACTIVE_AGENT_LP_L2"
);
double
WNBP_LP_L2
=
BAU_Inputs2_L2
.
getDouble
(
"WNBP_LP_L2"
);
double
PA_L2
=
BAU_Inputs2_L2
.
getDouble
(
"PA_L2"
);
double
WNBP_NLA_L2
=
BAU_Inputs2_L2
.
getDouble
(
"WNBP_NLA_L2"
);
JSONObject
BAU_Inputs_2_TOTAL
=
TOTAL
.
getJSONObject
(
"BAU_INPUTS_2"
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_WNBP_NLA"
,
WNBP_NLA_DT
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_WNBP_LP"
,
WNBP_LP_DT
);
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_ACTIVE_AGENT_LP"
,
Addition
(
ACTIVE_AGENT_LP_DT
,
ACTIVE_AGENT_LP_L1
,
ACTIVE_AGENT_LP_L2
));
BAU_Inputs_2_TOTAL
.
put
(
"TOTAL_PA"
,
Addition
(
PA_DT
,
PA_L1
,
PA_L2
));
//Neel – 20-Apr-2020 – Tata - Leader calculation – BAU2 inputs table ends
//Neel – 20-Apr-2020 – Tata - Leader calculation – earning table starts
JSONObject
DT
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"DT"
);
JSONObject
L1
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L1"
);
JSONObject
L2
=
InputData
.
getJSONObject
(
"CALC_JSON"
).
getJSONObject
(
"L2"
);
// JSONObject L2
// =InputData.getJSONObject("CALC_JSON").getJSONObject("L2");
JSONObject
EARNING_DT
=
new
JSONObject
();
JSONObject
EARNING_L1
=
new
JSONObject
();
JSONObject
EARNING_L2
=
new
JSONObject
();
JSONObject
EARNING_TOTAL
=
new
JSONObject
();
DT
.
put
(
"EARNING"
,
EARNING_DT
);
L1
.
put
(
"EARNING_L1"
,
EARNING_L1
);
L2
.
put
(
"EARNING_L2"
,
EARNING_L2
);
TOTAL
.
put
(
"EARNING_TOTAL"
,
EARNING_TOTAL
);
EARNING_DT
=
DT
.
getJSONObject
(
"EARNING"
);
EARNING_L1
=
L1
.
getJSONObject
(
"EARNING_L1"
);
EARNING_L2
=
L2
.
getJSONObject
(
"EARNING_L2"
);
EARNING_TOTAL
=
TOTAL
.
getJSONObject
(
"EARNING_TOTAL"
);
EARNING_DT
.
put
(
"AGENT_FYC_25_DT"
,
calc
(
Total_NGPA_WNBP_Dt
,
TOTAL_BAU_WNBP_DT
,
COMMISION_RATE
));
EARNING_L1
.
put
(
"AGENT_FYC_25_L1"
,
calc
(
Total_NGPA_WNBP_L1
,
TOTAL_BAU_WNBP_L1
,
COMMISION_RATE
));
EARNING_L2
.
put
(
"AGENT_FYC_25_L2"
,
calc
(
Total_NGPA_WNBP_L2
,
TOTAL_BAU_WNBP_L2
,
COMMISION_RATE
));
double
AGENT_FYC_25_DT
=
EARNING_DT
.
getDouble
(
"AGENT_FYC_25_DT"
);
double
AGENT_FYC_25_L1
=
EARNING_L1
.
getDouble
(
"AGENT_FYC_25_L1"
);
double
AGENT_FYC_25_L2
=
EARNING_L2
.
getDouble
(
"AGENT_FYC_25_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_AGENT_FYC_25"
,
Addition
(
AGENT_FYC_25_DT
,
AGENT_FYC_25_L1
,
AGENT_FYC_25_L2
));
EARNING_TOTAL
.
put
(
"TOTAL_FYC_CREDIT"
,
0
);
JSONArray
map
=
leaderCalcConfig
.
getValue
(
"mpb"
);
double
mappingDT
=
0
;
double
mappingL1
=
0
;
double
mappingL2
=
0
;
double
mappingDT_minimum_fyc
=
0
;
for
(
int
i
=
0
;
i
<
map
.
length
();
i
++)
{
String
Desgination
=
map
.
getJSONObject
(
i
).
getString
(
"designation"
);
if
(
leader_designation
.
equals
(
Desgination
))
{
mappingDT
=
map
.
getJSONObject
(
i
).
getDouble
(
"DT"
);
mappingL1
=
map
.
getJSONObject
(
i
).
getDouble
(
"l1"
);
mappingL2
=
map
.
getJSONObject
(
i
).
getDouble
(
"l2"
);
mappingDT_minimum_fyc
=
map
.
getJSONObject
(
i
).
getDouble
(
"mapping_DT_minimum_fyc"
);
break
;
}
}
;
EARNING_DT
.
put
(
"FYC_CREDIT_DT"
,
mappingDT
);
EARNING_L1
.
put
(
"FYC_CREDIT_L1"
,
mappingL1
+
"%"
);
EARNING_L2
.
put
(
"FYC_CREDIT_L2"
,
mappingL2
+
"%"
);
if
(
Double
.
valueOf
(
AGENT_FYC_25_DT
)
>
mappingDT_minimum_fyc
)
{
EARNING_DT
.
put
(
"WFYC_DT"
,
((
AGENT_FYC_25_DT
)
*
mappingDT
)
/
100
);
}
else
{
EARNING_DT
.
put
(
"WFYC_DT"
,
"0"
);
}
double
WFYC_DT
=
EARNING_DT
.
getDouble
(
"WFYC_DT"
);
double
FYC_CREDIT_L1
=
mappingL1
;
double
FYC_CREDIT_L2
=
mappingL2
;
if
(
WFYC_DT
==
0
)
{
EARNING_L1
.
put
(
"WFYC_L1"
,
"0"
);
}
else
{
EARNING_L1
.
put
(
"WFYC_L1"
,
Multiplication
(
AGENT_FYC_25_L1
,
FYC_CREDIT_L1
,
1
));
}
double
WFYC_L1
=
EARNING_L1
.
getDouble
(
"WFYC_L1"
);
if
(
WFYC_L1
==
0
)
{
EARNING_L2
.
put
(
"WFYC_L2"
,
"0"
);
}
else
{
EARNING_L2
.
put
(
"WFYC_L2"
,
Multiplication
(
AGENT_FYC_25_L2
,
FYC_CREDIT_L2
,
1
));
}
double
WFYC_L2
=
EARNING_L2
.
getDouble
(
"WFYC_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_WFYC"
,
Addition
(
WFYC_DT
,
WFYC_L1
,
WFYC_L2
));
// fyc start
JSONArray
fycarrqay
=
leaderCalcConfig
.
getValue
(
"fyc"
);
double
TOTAL_WFYC
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_WFYC"
);
double
val
=
TOTAL_WFYC
;
double
percentage
=
0
;
for
(
int
i
=
0
;
i
<
fycarrqay
.
length
();
i
++)
{
double
minval
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
double
per
=
fycarrqay
.
getJSONObject
(
i
).
getDouble
(
"per"
);
if
(
val
>=
minval
&&
val
<=
maxval
)
{
percentage
=
per
;
break
;
}
}
EARNING_TOTAL
.
put
(
"TOTAL_MONTHLY_PERFORMANCE_BONUS"
,
Multiplication
((
val
*
percentage
)
/
100
,
TOTAL_WFYC
,
1
));
double
TOTAL_MONTHLY_PERFORMANCE_BONUS
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_MONTHLY_PERFORMANCE_BONUS"
);
if
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
==
0
)
{
EARNING_DT
.
put
(
"EXTRA_CREDIT_DT"
,
0
);
EARNING_DT
.
put
(
"PA_DEVELOPMENT_DT"
,
0
);
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
0
);
}
else
{
EARNING_DT
.
put
(
"EXTRA_CREDIT_DT"
,
((((
WNBP_NLA_DT
+
WNBP_LP_DT
)
*
25
)
/
100
)
*
15
)
/
100
);
EARNING_DT
.
put
(
"PA_DEVELOPMENT_DT"
,
Multiplication
(
PA_DT
,
5000
,
1
));
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
))
{
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
0
);
}
else
{
EARNING_L1
.
put
(
"PA_DEVELOPMENT_L1"
,
Multiplication
(
PA_L1
,
1500
,
1
));
}
}
double
EXTRA_CREDIT_DT
=
EARNING_DT
.
getDouble
(
"EXTRA_CREDIT_DT"
);
EARNING_L1
.
put
(
"EXTRA_CREDIT_L1"
,
0
);
EARNING_L2
.
put
(
"EXTRA_CREDIT_L2"
,
0
);
EARNING_TOTAL
.
put
(
"TOTAL_EXTRA_CREDIT"
,
EXTRA_CREDIT_DT
);
if
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
==
0
)
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
0
);
}
else
{
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
)
||
leader_designation
.
equalsIgnoreCase
(
"BA"
))
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
0
);
}
else
{
EARNING_L2
.
put
(
"PA_DEVELOPMENT_L2"
,
Multiplication
(
PA_L2
,
1000
,
1
));
}
}
double
PA_DEVELOPMENT_DT
=
EARNING_DT
.
getDouble
(
"PA_DEVELOPMENT_DT"
);
double
PA_DEVELOPMENT_L1
=
EARNING_L1
.
getDouble
(
"PA_DEVELOPMENT_L1"
);
double
PA_DEVELOPMENT_L2
=
EARNING_L2
.
getDouble
(
"PA_DEVELOPMENT_L2"
);
EARNING_TOTAL
.
put
(
"TOTAL_PA_DEVELOPMENT"
,
Addition
(
PA_DEVELOPMENT_DT
,
PA_DEVELOPMENT_L1
,
PA_DEVELOPMENT_L2
));
//MDB mappings
JSONArray
mdb2array
=
leaderCalcConfig
.
getValue
(
"mdb"
);
System
.
out
.
println
(
"mdb2array"
);
System
.
out
.
println
(
mdb2array
);
NGPA_Dt
=
2
;
TOTAL_NGPA_EP_125_DT
=
1250000
;
double
monthly_ep_18
=
0
;
double
monthly_ep_36
=
0
;
double
monthly_ep_72
=
0
;
double
monthly_ep_144
=
0
;
for
(
int
i
=
0
;
i
<
mdb2array
.
length
();
i
++)
{
double
MDB
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"MDB"
);
System
.
out
.
println
(
MDB
);
System
.
out
.
println
(
NGPA_Dt
);
// double maxval = fycarrqay.getJSONObject(i).getDouble("maxval");
// double per = fycarrqay.getJSONObject(i).getDouble("per");
if
(
NGPA_Dt
==
MDB
)
{
System
.
out
.
println
(
"in if"
);
monthly_ep_18
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_18"
);
monthly_ep_36
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_36"
);
monthly_ep_72
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_72"
);
monthly_ep_144
=
mdb2array
.
getJSONObject
(
i
).
getDouble
(
"monthly_ep_144"
);
break
;
}
}
System
.
out
.
println
(
"val180000"
);
System
.
out
.
println
(
monthly_ep_18
);
System
.
out
.
println
(
monthly_ep_36
);
System
.
out
.
println
(
monthly_ep_72
);
System
.
out
.
println
(
monthly_ep_144
);
if
(
TOTAL_NGPA_EP_125_DT
<
180000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
0
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
180000
&&
TOTAL_NGPA_EP_125_DT
<
360000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_18
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
360000
&&
TOTAL_NGPA_EP_125_DT
<
720000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_36
);
}
else
if
(
TOTAL_NGPA_EP_125_DT
>
720000
&&
TOTAL_NGPA_EP_125_DT
<
1400000
)
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_72
);
}
else
{
EARNING_DT
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
,
monthly_ep_144
);
}
// System.out.println("neel");
System
.
out
.
println
(
EARNING_DT
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
));
double
MONTHLY_DEVELOPMENT_BONUS_DT
=
EARNING_DT
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_DT"
);
EARNING_L1
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_L1"
,
0
);
EARNING_L2
.
put
(
"MONTHLY_DEVELOPMENT_BONUS_L2"
,
0
);
EARNING_TOTAL
.
put
(
"TOTAL_MONTHLY_DEVELOPMENT_BONUS"
,
MONTHLY_DEVELOPMENT_BONUS_DT
);
JSONArray
l1array
=
leaderCalcConfig
.
getValue
(
"l1slabs"
);
double
multiplier
=
0
;
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
))
{
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
0
);
}
else
if
(
Active_Agent_BAU_L1
<
4
)
{
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
0
);
}
else
{
if
(
Active_Agent_BAU_L1
>=
51
)
{
multiplier
=
500
;
}
else
{
for
(
int
i
=
0
;
i
<
l1array
.
length
();
i
++)
{
double
minval
=
l1array
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
l1array
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
if
(
Active_Agent_BAU_L1
>=
minval
&&
Active_Agent_BAU_L1
<=
maxval
)
{
multiplier
=
l1array
.
getJSONObject
(
i
).
getDouble
(
leader_designation
);
break
;
}
}
}
}
EARNING_L1
.
put
(
"ACTIVATION_L1"
,
(
Active_Agent_BAU_L1
*
multiplier
)
+
(
ACTIVE_AGENT_LP_L1
*
500
));
JSONArray
L2Slabsarray
=
leaderCalcConfig
.
getValue
(
"l2slabs"
);
System
.
out
.
println
(
"L2Slabsarray"
);
System
.
out
.
println
(
L2Slabsarray
);
double
multiplierL2
=
0
;
if
(
leader_designation
.
equalsIgnoreCase
(
"PBA"
)
||
leader_designation
.
equalsIgnoreCase
(
"BA"
))
{
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
0
);
}
else
if
(
Active_Agent_BAU_L2
<
11
)
{
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
0
);
}
else
{
if
(
Active_Agent_BAU_L2
>=
61
)
{
multiplierL2
=
500
;
}
else
{
for
(
int
i
=
0
;
i
<
L2Slabsarray
.
length
();
i
++)
{
double
minval
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
"minval"
);
double
maxval
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
"maxval"
);
if
(
Active_Agent_BAU_L2
>=
minval
&&
Active_Agent_BAU_L2
<=
maxval
)
{
multiplierL2
=
L2Slabsarray
.
getJSONObject
(
i
).
getDouble
(
leader_designation
);
break
;
}
}
}
EARNING_L2
.
put
(
"ACTIVATION_L2"
,
(
Active_Agent_BAU_L2
*
multiplierL2
)
+
(
PA_L2
*
500
));
}
if
(
Active_Agent_BAU_Dt
<
4
)
{
EARNING_DT
.
put
(
"ACTIVATION_DT"
,
0
);
}
else
{
EARNING_DT
.
put
(
"ACTIVATION_DT"
,
(
ACTIVE_AGENT_LP_DT
+
Active_Agent_BAU_Dt
)
*
1000
);
}
double
ACTIVATION_L2
=
EARNING_L2
.
getDouble
(
"ACTIVATION_L2"
);
double
ACTIVATION_DT
=
EARNING_DT
.
getDouble
(
"ACTIVATION_DT"
);
double
ACTIVATION_L1
=
EARNING_L1
.
getDouble
(
"ACTIVATION_L1"
);
EARNING_TOTAL
.
put
(
"TOTAL_ACTIVATION"
,
Addition
(
ACTIVATION_DT
,
ACTIVATION_L1
,
ACTIVATION_L2
));
EARNING_DT
.
put
(
"MONTHLY_PERFORMANCE_BONUS_DT"
,
0
);
EARNING_L1
.
put
(
"MONTHLY_PERFORMANCE_BONUS_L1"
,
0
);
EARNING_L2
.
put
(
"MONTHLY_PERFORMANCE_BONUS_L2"
,
0
);
double
MONTHLY_PERFORMANCE_BONUS_DT
=
EARNING_DT
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_DT"
);
double
MONTHLY_PERFORMANCE_BONUS_L1
=
EARNING_L1
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_L1"
);
double
EXTRA_CREDIT_L1
=
EARNING_L1
.
getDouble
(
"EXTRA_CREDIT_L1"
);
double
MONTHLY_DEVELOPMENT_BONUS_L1
=
EARNING_L1
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_L1"
);
double
MONTHLY_PERFORMANCE_BONUS_L2
=
EARNING_L2
.
getDouble
(
"MONTHLY_PERFORMANCE_BONUS_L2"
);
double
EXTRA_CREDIT_L2
=
EARNING_L2
.
getDouble
(
"EXTRA_CREDIT_L2"
);
double
MONTHLY_DEVELOPMENT_BONUS_L2
=
EARNING_L2
.
getDouble
(
"MONTHLY_DEVELOPMENT_BONUS_L2"
);
EARNING_DT
.
put
(
"TOTAL_EARNING_DT"
,
(
MONTHLY_PERFORMANCE_BONUS_DT
+
MONTHLY_DEVELOPMENT_BONUS_DT
+
EXTRA_CREDIT_DT
+
ACTIVATION_DT
+
PA_DEVELOPMENT_DT
));
EARNING_L1
.
put
(
"TOTAL_EARNING_L1"
,
(
MONTHLY_PERFORMANCE_BONUS_L1
+
MONTHLY_DEVELOPMENT_BONUS_L1
+
EXTRA_CREDIT_L1
+
ACTIVATION_L1
+
PA_DEVELOPMENT_L1
));
EARNING_L2
.
put
(
"TOTAL_EARNING_L2"
,
(
MONTHLY_PERFORMANCE_BONUS_L2
+
MONTHLY_DEVELOPMENT_BONUS_L2
+
EXTRA_CREDIT_L2
+
ACTIVATION_L2
+
PA_DEVELOPMENT_L2
));
double
TOTAL_MONTHLY_DEVELOPMENT_BONUS
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_MONTHLY_DEVELOPMENT_BONUS"
);
double
TOTAL_EXTRA_CREDIT
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_EXTRA_CREDIT"
);
double
TOTAL_ACTIVATION
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_ACTIVATION"
);
double
TOTAL_PA_DEVELOPMENT
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_PA_DEVELOPMENT"
);
EARNING_TOTAL
.
put
(
"TOTAL_EARNING_TOTAL"
,
(
TOTAL_MONTHLY_PERFORMANCE_BONUS
+
TOTAL_MONTHLY_DEVELOPMENT_BONUS
+
TOTAL_EXTRA_CREDIT
+
TOTAL_ACTIVATION
+
TOTAL_PA_DEVELOPMENT
));
double
TOTAL_EARNING_TOTAL
=
EARNING_TOTAL
.
getDouble
(
"TOTAL_EARNING_TOTAL"
);
EARNING_TOTAL
.
put
(
"TOTAL_ANNUALISED_EARNING"
,
(
TOTAL_EARNING_TOTAL
*
12
));
//Neel – 20-Apr-2020 – Tata - Leader calculation – earning table ends
System
.
out
.
println
(
Calc_JSON
);
return
Calc_JSON
;
}
private
double
Multiplication
(
double
Str1
,
double
Str2
,
double
Str3
)
{
double
result
=
Str1
*
Str2
*
Str3
;
return
result
;
}
private
double
Addition
(
double
Str1
,
double
Str2
,
double
Str3
)
{
Double
d
=
Str1
+
Str2
+
Str3
;
// String result = String.format("%f", d);
return
d
;
}
private
double
calc
(
double
Str1
,
double
Str2
,
double
commision_rate
)
{
Double
add
=
Str1
+
Str2
;
Double
mul
=
(
add
*
commision_rate
)
/
100
;
// String result = String.format("%f", a);
return
mul
;
}
private
double
Average
(
double
Str1
,
double
Str2
,
double
Str3
)
{
double
values
[]
=
{
Str1
,
Str2
,
Str3
};
int
sum
=
0
;
for
(
int
i
=
0
;
i
<
values
.
length
;
i
++)
sum
+=
values
[
i
];
double
average
=
((
double
)
sum
)
/
values
.
length
;
return
average
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment