Commit ae788edd by neel

Enabled audit logs in all services

parent 0fbafda4
......@@ -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");
......
......@@ -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");
......
......@@ -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 leadercalc")
@AuditLogs(isRequest = true, isResponse = true,service="ngpatongplcalc")
@JsonSerialize
public ResponseEntity<?> CalculateNGPL(@RequestBody Map<String, Object> lookupRequestObject) throws JsonProcessingException {
System.out.println("in ngpl contrroler");
......
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;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment