|
|
|
|
@ -173,15 +173,13 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
});
|
|
|
|
|
// Decode the JWT token received from the API response
|
|
|
|
|
Map<String, dynamic>? decodedToken = Jwt.parseJwt(token);
|
|
|
|
|
print(decodedToken);
|
|
|
|
|
|
|
|
|
|
selfEmpStatus = prefs.getString('selfEmpStatus');
|
|
|
|
|
empClientBranchId = prefs.getString('empClientBranchId');
|
|
|
|
|
empCodeString = prefs.getString('empCode');
|
|
|
|
|
print(empCodeString); // Check if emp_code is correct
|
|
|
|
|
empPrimaryId = prefs.getString('empPrimaryId');
|
|
|
|
|
gpaEmpName = prefs.getString('gpaEmpName');
|
|
|
|
|
client_id = prefs.getString('client_id');
|
|
|
|
|
print(client_id);
|
|
|
|
|
|
|
|
|
|
// Call the API when the page enters
|
|
|
|
|
if (prefs.containsKey('clientLogo') && prefs.containsKey('clientName')) {
|
|
|
|
|
@ -212,15 +210,11 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
final response = await apiService.getClientLogoAndDetailsToApi(
|
|
|
|
|
client_id!, empCodeString!, empClientBranchId!);
|
|
|
|
|
print('check 1');
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
if (response.containsKey('data')) {
|
|
|
|
|
dynamic clientDetails = response['data'];
|
|
|
|
|
print(clientDetails);
|
|
|
|
|
clientName = clientDetails['client']['client_name'];
|
|
|
|
|
print(clientName);
|
|
|
|
|
clientLogo = clientDetails['client']['client_logo'];
|
|
|
|
|
print(clientLogo);
|
|
|
|
|
} else {
|
|
|
|
|
// Handle other status messages if needed
|
|
|
|
|
print('API request failed with status: ${response['status']}');
|
|
|
|
|
@ -248,7 +242,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
setState(() {
|
|
|
|
|
gpaPolicies = response['data'];
|
|
|
|
|
print('gpaPolicies');
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
setState(() {
|
|
|
|
|
@ -276,10 +269,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
// setState(() {
|
|
|
|
|
gmcPolicies = response['data'];
|
|
|
|
|
print('gmcPolicies');
|
|
|
|
|
// });
|
|
|
|
|
// Assuming data is a List
|
|
|
|
|
print(gmcPolicies);
|
|
|
|
|
} else {
|
|
|
|
|
setState(() {
|
|
|
|
|
gmcDataIsEmpty = 0;
|
|
|
|
|
@ -306,8 +297,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (response.containsKey('data')) {
|
|
|
|
|
setState(() {
|
|
|
|
|
topUpSiPolicies = response['data'];
|
|
|
|
|
print('topUpSiPolicies');
|
|
|
|
|
print(topUpSiPolicies);
|
|
|
|
|
});
|
|
|
|
|
if (topUpSiPolicies.isNotEmpty) {
|
|
|
|
|
// setState(() {
|
|
|
|
|
@ -315,8 +304,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
await topUpSiPolicies['gmc_si_topup']['client_policy_id'];
|
|
|
|
|
|
|
|
|
|
topUpSlabRates = await topUpSiPolicies['gmc_si_topup']['SlabRates'];
|
|
|
|
|
print('topUpSlabRates');
|
|
|
|
|
print(topUpSlabRates);
|
|
|
|
|
|
|
|
|
|
topUpPolicyName =
|
|
|
|
|
await topUpSiPolicies['gmc_si_topup']['policy_name'];
|
|
|
|
|
@ -325,22 +312,15 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
topUpFamilyFloater = await topUpSiPolicies['gmc_si_topup']
|
|
|
|
|
['policy_terms']['family_floater'];
|
|
|
|
|
print('topUpFamilyFloater');
|
|
|
|
|
print(topUpFamilyFloater);
|
|
|
|
|
|
|
|
|
|
topUpMappedFamilyFloatersSi = await topUpSiPolicies['gmc_si_topup']
|
|
|
|
|
['family_floaters_of_only_si_array'];
|
|
|
|
|
print('topUpMappedFamilyFloatersSi');
|
|
|
|
|
print(topUpMappedFamilyFloatersSi);
|
|
|
|
|
|
|
|
|
|
print('topUpECardDownload');
|
|
|
|
|
topUpECardDownload =
|
|
|
|
|
topUpSiPolicies['gmc_si_topup']['eCardDownload'];
|
|
|
|
|
print(topUpECardDownload);
|
|
|
|
|
String intOpenForEnrollment =
|
|
|
|
|
topUpSiPolicies['gmc_si_topup']['OpenForEnrollment'];
|
|
|
|
|
topUpOpenForEnrollment = int.parse(intOpenForEnrollment);
|
|
|
|
|
print(topUpOpenForEnrollment);
|
|
|
|
|
|
|
|
|
|
topUpTypeName = topUpSiPolicies['gmc_si_topup']['type'];
|
|
|
|
|
|
|
|
|
|
@ -349,7 +329,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpSiSelectedSI =
|
|
|
|
|
topUpSiValue != 0 ? topUpSiValue.toString() : null;
|
|
|
|
|
if (topUpSiSelectedSI != null) {
|
|
|
|
|
print('topUpSiSelectedSI');
|
|
|
|
|
setState(() {
|
|
|
|
|
_topUpSiSwitcher = true;
|
|
|
|
|
topUpSiPremiumValue = (topUpSiPolicies['gmc_si_topup']
|
|
|
|
|
@ -396,8 +375,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (response.containsKey('data')) {
|
|
|
|
|
setState(() {
|
|
|
|
|
topUpSiParentPolicies = response['data'];
|
|
|
|
|
print('topUpSiParentPolicies');
|
|
|
|
|
print(topUpSiParentPolicies);
|
|
|
|
|
});
|
|
|
|
|
if (topUpSiParentPolicies.isNotEmpty) {
|
|
|
|
|
// setState(() {
|
|
|
|
|
@ -407,8 +384,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
topUpParentSlabRates =
|
|
|
|
|
await topUpSiParentPolicies['gmc_si_parent_topup']['SlabRates'];
|
|
|
|
|
print('topUpParentSlabRates');
|
|
|
|
|
print(topUpParentSlabRates);
|
|
|
|
|
|
|
|
|
|
topUpParentPolicyName =
|
|
|
|
|
await topUpSiParentPolicies['gmc_si_parent_topup']
|
|
|
|
|
@ -420,24 +395,17 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpParentFamilyFloater =
|
|
|
|
|
await topUpSiParentPolicies['gmc_si_parent_topup']
|
|
|
|
|
['policy_terms']['family_floater'];
|
|
|
|
|
print('topUpParentFamilyFloater');
|
|
|
|
|
print(topUpParentFamilyFloater);
|
|
|
|
|
|
|
|
|
|
topUpParentMappedFamilyFloatersSi =
|
|
|
|
|
await topUpSiParentPolicies['gmc_si_parent_topup']
|
|
|
|
|
['family_floaters_of_only_si_array'];
|
|
|
|
|
print('topUpParentMappedFamilyFloatersSi');
|
|
|
|
|
print(topUpParentMappedFamilyFloatersSi);
|
|
|
|
|
|
|
|
|
|
print('topUpECardDownload');
|
|
|
|
|
topUpParentECardDownload =
|
|
|
|
|
topUpSiParentPolicies['gmc_si_parent_topup']['eCardDownload'];
|
|
|
|
|
print(topUpParentECardDownload);
|
|
|
|
|
String intOpenForEnrollment =
|
|
|
|
|
topUpSiParentPolicies['gmc_si_parent_topup']
|
|
|
|
|
['OpenForEnrollment'];
|
|
|
|
|
topUpParentOpenForEnrollment = int.parse(intOpenForEnrollment);
|
|
|
|
|
print(topUpParentOpenForEnrollment);
|
|
|
|
|
|
|
|
|
|
topUpParentTypeName =
|
|
|
|
|
topUpSiParentPolicies['gmc_si_parent_topup']['type'];
|
|
|
|
|
@ -448,7 +416,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpParentSiSelectedSI =
|
|
|
|
|
topUpParentSiValue != 0 ? topUpParentSiValue.toString() : null;
|
|
|
|
|
if (topUpParentSiSelectedSI != null) {
|
|
|
|
|
print('topUpParentSiSelectedSI');
|
|
|
|
|
setState(() {
|
|
|
|
|
_topUpParentSiSwitcher = true;
|
|
|
|
|
topUpParentSiPremiumValue =
|
|
|
|
|
@ -497,8 +464,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (response.containsKey('data')) {
|
|
|
|
|
setState(() {
|
|
|
|
|
addOnsDependentPolicies = response['data'];
|
|
|
|
|
print('addOnsDependentPolicies');
|
|
|
|
|
print(addOnsDependentPolicies);
|
|
|
|
|
});
|
|
|
|
|
if (addOnsDependentPolicies.isNotEmpty) {
|
|
|
|
|
// setState(() {
|
|
|
|
|
@ -509,7 +474,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
addOnsDependentSlabRates =
|
|
|
|
|
await addOnsDependentPolicies['gmc_dependent_addon']
|
|
|
|
|
['SlabRates'];
|
|
|
|
|
print(addOnsDependentSlabRates);
|
|
|
|
|
|
|
|
|
|
addOnsDependentPolicyName =
|
|
|
|
|
await addOnsDependentPolicies['gmc_dependent_addon']
|
|
|
|
|
@ -521,15 +485,11 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
addOnsDependentFamilyFloater =
|
|
|
|
|
await addOnsDependentPolicies['gmc_dependent_addon']
|
|
|
|
|
['policy_terms']['family_floater'];
|
|
|
|
|
print('addOnsDependentFamilyFloater');
|
|
|
|
|
print(addOnsDependentFamilyFloater);
|
|
|
|
|
|
|
|
|
|
setState(() {
|
|
|
|
|
addOnsDependentMappedFamilyFloatersDependent =
|
|
|
|
|
addOnsDependentPolicies['gmc_dependent_addon']
|
|
|
|
|
['family_floaters_of_dependent_and_si_array'];
|
|
|
|
|
print('addOnsDependentMappedFamilyFloatersDependent');
|
|
|
|
|
print(addOnsDependentMappedFamilyFloatersDependent);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
String intOpenForEnrollment =
|
|
|
|
|
@ -567,8 +527,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
addOnsDependentECardDownload =
|
|
|
|
|
addOnsDependentPolicies['gmc_dependent_addon']
|
|
|
|
|
['eCardDownload'];
|
|
|
|
|
print('addOnsDependentECardDownload');
|
|
|
|
|
print(addOnsDependentECardDownload);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
print('No data found in the response');
|
|
|
|
|
@ -609,23 +567,18 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<void> _selectDate(BuildContext context, formType) async {
|
|
|
|
|
print(formType);
|
|
|
|
|
var ageValidation = formType['age_validation'];
|
|
|
|
|
int min =
|
|
|
|
|
int.parse(ageValidation['min']); // Parsing the string to an integer
|
|
|
|
|
int max =
|
|
|
|
|
int.parse(ageValidation['max']); // Parsing the string to an integer
|
|
|
|
|
print(min);
|
|
|
|
|
print(max);
|
|
|
|
|
late DateTime minDate;
|
|
|
|
|
late DateTime maxDate;
|
|
|
|
|
|
|
|
|
|
final DateTime now = DateTime.now();
|
|
|
|
|
|
|
|
|
|
maxDate = DateTime(now.year - min, now.month, now.day);
|
|
|
|
|
print(maxDate);
|
|
|
|
|
minDate = DateTime(now.year - max, now.month, now.day);
|
|
|
|
|
print(minDate);
|
|
|
|
|
|
|
|
|
|
// Ensure initialDate is within the range of minDate and maxDate
|
|
|
|
|
DateTime initialDate =
|
|
|
|
|
@ -653,7 +606,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<void> deleteItem(Map<String, dynamic> deletedItem) async {
|
|
|
|
|
print(deletedItem);
|
|
|
|
|
try {
|
|
|
|
|
var id = deletedItem['employee_id'];
|
|
|
|
|
final response = await apiService.deleteItemToApi(id);
|
|
|
|
|
@ -672,7 +624,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
getGmcSiParentTopUp();
|
|
|
|
|
getGmcDependentAddOns();
|
|
|
|
|
ToastHelper.showSuccessToast(context, 'Item deleted successfully');
|
|
|
|
|
print('Item deleted successfully');
|
|
|
|
|
} else {
|
|
|
|
|
// Handle errors
|
|
|
|
|
ToastHelper.showErrorToast(context, 'Failed to delete item');
|
|
|
|
|
@ -686,9 +637,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
void saveAddOnsDetails(Map<String, dynamic> formData,
|
|
|
|
|
Map<String, dynamic> floatedData, action) async {
|
|
|
|
|
// Construct the array of objects
|
|
|
|
|
print(formData);
|
|
|
|
|
print(floatedData);
|
|
|
|
|
print(action);
|
|
|
|
|
formDataList.add({
|
|
|
|
|
'relationship': formData['relationship'],
|
|
|
|
|
'name': formData['memberName'],
|
|
|
|
|
@ -725,7 +673,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
getGmcSiParentTopUp();
|
|
|
|
|
getGmcDependentAddOns();
|
|
|
|
|
ToastHelper.showSuccessToast(context, 'Saved Successfully...');
|
|
|
|
|
print('Form data sent successfully.');
|
|
|
|
|
} else {
|
|
|
|
|
ToastHelper.showErrorToast(context, 'Failed');
|
|
|
|
|
print('Failed to send form data. Error: ${response}');
|
|
|
|
|
@ -741,31 +688,22 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void sendAddonsGmcDependentToAPI() async {
|
|
|
|
|
print(_addOnsDependentSwitcher);
|
|
|
|
|
print('continue');
|
|
|
|
|
print(addOnsSelectedDependent);
|
|
|
|
|
if (_addOnsDependentSwitcher == true) {
|
|
|
|
|
if (addOnsSelectedDependent == null || addOnsSelectedDependent.isEmpty) {
|
|
|
|
|
return; // Return if addOnsSelectedDependent is null or empty
|
|
|
|
|
} else {
|
|
|
|
|
print('createOrUpdateEmployeePolicySiAmount');
|
|
|
|
|
try {
|
|
|
|
|
dynamic getTrueObjects = addOnsDependentMappedFamilyFloatersDependent
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getTrueDataObjects = getTrueObjects
|
|
|
|
|
.map<Map<String, dynamic>>(
|
|
|
|
|
(element) => element['data'] as Map<String, dynamic>)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueDataObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, String>> selectedValues = [];
|
|
|
|
|
// try {
|
|
|
|
|
print('fff');
|
|
|
|
|
if (getTrueDataObjects != null || getTrueDataObjects.isNotEmpty) {
|
|
|
|
|
for (var floater in getTrueDataObjects) {
|
|
|
|
|
String employee_id = floater['employee_id'];
|
|
|
|
|
@ -784,7 +722,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
// Add the map to the list
|
|
|
|
|
selectedValues.add(floaterData);
|
|
|
|
|
}
|
|
|
|
|
print(selectedValues);
|
|
|
|
|
}
|
|
|
|
|
// Iterate through familyMembers list and send each member's data to the API
|
|
|
|
|
|
|
|
|
|
@ -798,10 +735,8 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
_relationShipController.clear();
|
|
|
|
|
_memberNameController.clear();
|
|
|
|
|
_dobController.clear();
|
|
|
|
|
print('Saved successfully!');
|
|
|
|
|
} else {
|
|
|
|
|
ToastHelper.showErrorToast(context, 'Failed to save');
|
|
|
|
|
print('Operation Failed!');
|
|
|
|
|
}
|
|
|
|
|
} catch (error) {
|
|
|
|
|
print('Error saving family members');
|
|
|
|
|
@ -813,32 +748,22 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void sendAddonsGmcSiToAPI() async {
|
|
|
|
|
print(_topUpSiSwitcher);
|
|
|
|
|
print('continue');
|
|
|
|
|
print(topUpSiSelectedSI);
|
|
|
|
|
if (_topUpSiSwitcher == true) {
|
|
|
|
|
if (topUpSiSelectedSI == null || topUpSiSelectedSI.isEmpty) {
|
|
|
|
|
print('topUpSiSelectedSI');
|
|
|
|
|
return; // Return if addOnsSelectedDependent is null or empty
|
|
|
|
|
} else {
|
|
|
|
|
print('createOrUpdateEmployeePolicySiAmount');
|
|
|
|
|
try {
|
|
|
|
|
dynamic getTrueObjects = topUpMappedFamilyFloatersSi
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getTrueDataObjects = getTrueObjects
|
|
|
|
|
.map<Map<String, dynamic>>(
|
|
|
|
|
(element) => element['data'] as Map<String, dynamic>)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueDataObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, String>> selectedValues = [];
|
|
|
|
|
// try {
|
|
|
|
|
print('fff');
|
|
|
|
|
if (getTrueDataObjects != null || getTrueDataObjects.isNotEmpty) {
|
|
|
|
|
for (var floater in getTrueDataObjects) {
|
|
|
|
|
String employee_id = floater['employee_id'];
|
|
|
|
|
@ -857,7 +782,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
// Add the map to the list
|
|
|
|
|
selectedValues.add(floaterData);
|
|
|
|
|
}
|
|
|
|
|
print(selectedValues);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
final response =
|
|
|
|
|
@ -870,7 +794,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
_relationShipController.clear();
|
|
|
|
|
_memberNameController.clear();
|
|
|
|
|
_dobController.clear();
|
|
|
|
|
print('Saved successfully!');
|
|
|
|
|
} else {
|
|
|
|
|
print('Failed to Save...');
|
|
|
|
|
}
|
|
|
|
|
@ -884,32 +807,22 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void sendAddonsGmcParentSiToAPI() async {
|
|
|
|
|
print(_topUpParentSiSwitcher);
|
|
|
|
|
print('continue');
|
|
|
|
|
print(topUpParentSiSelectedSI);
|
|
|
|
|
if (_topUpParentSiSwitcher == true) {
|
|
|
|
|
if (topUpParentSiSelectedSI == null || topUpParentSiSelectedSI.isEmpty) {
|
|
|
|
|
print('topUpSiSelectedSI');
|
|
|
|
|
return; // Return if addOnsSelectedDependent is null or empty
|
|
|
|
|
} else {
|
|
|
|
|
print('createOrUpdateEmployeePolicySiAmount');
|
|
|
|
|
try {
|
|
|
|
|
dynamic getTrueObjects = topUpParentMappedFamilyFloatersSi
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getTrueDataObjects = getTrueObjects
|
|
|
|
|
.map<Map<String, dynamic>>(
|
|
|
|
|
(element) => element['data'] as Map<String, dynamic>)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueDataObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, String>> selectedValues = [];
|
|
|
|
|
// try {
|
|
|
|
|
print('fff');
|
|
|
|
|
if (getTrueDataObjects != null || getTrueDataObjects.isNotEmpty) {
|
|
|
|
|
for (var floater in getTrueDataObjects) {
|
|
|
|
|
String employee_id = floater['employee_id'];
|
|
|
|
|
@ -928,7 +841,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
// Add the map to the list
|
|
|
|
|
selectedValues.add(floaterData);
|
|
|
|
|
}
|
|
|
|
|
print(selectedValues);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
final response =
|
|
|
|
|
@ -941,7 +853,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
_relationShipController.clear();
|
|
|
|
|
_memberNameController.clear();
|
|
|
|
|
_dobController.clear();
|
|
|
|
|
print('Saved successfully!');
|
|
|
|
|
} else {
|
|
|
|
|
print('Failed to Save...');
|
|
|
|
|
}
|
|
|
|
|
@ -1013,8 +924,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
void topUpSiCalculation(choosedSiValue) async {
|
|
|
|
|
try {
|
|
|
|
|
print(choosedSiValue);
|
|
|
|
|
|
|
|
|
|
var calculation = {
|
|
|
|
|
'client_policy_id': topUpClientPolicyId,
|
|
|
|
|
'emp_code': empCodeString,
|
|
|
|
|
@ -1022,13 +931,11 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
'client_branch_id': empClientBranchId
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
print(calculation);
|
|
|
|
|
// Iterate through familyMembers list and send each member's data to the API
|
|
|
|
|
|
|
|
|
|
final response = await apiService.topUpSiCalculationToAPI(calculation);
|
|
|
|
|
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
print(response);
|
|
|
|
|
List<dynamic>? topUpEmpArray;
|
|
|
|
|
for (var item in response['data']) {
|
|
|
|
|
if (item.containsKey(empCodeString)) {
|
|
|
|
|
@ -1038,8 +945,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (topUpEmpArray != null) {
|
|
|
|
|
print('Array for emp_code $empCodeString:');
|
|
|
|
|
print(topUpEmpArray);
|
|
|
|
|
double topUpRataPremimumSum = 0;
|
|
|
|
|
for (var item in topUpEmpArray) {
|
|
|
|
|
var topUpRataPremimum = item['policy_details']['rata_premimum'];
|
|
|
|
|
@ -1047,7 +952,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpRataPremimumSum += topUpRataPremimum;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of rata_premimum: $topUpRataPremimumSum');
|
|
|
|
|
|
|
|
|
|
double topUpGstSum = 0;
|
|
|
|
|
for (var item in topUpEmpArray) {
|
|
|
|
|
@ -1056,18 +960,13 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpGstSum += topUpGst;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of gst: $topUpGstSum');
|
|
|
|
|
setState(() {
|
|
|
|
|
topUpSiPremiumValue = (topUpRataPremimumSum as double).toInt();
|
|
|
|
|
print(topUpSiPremiumValue);
|
|
|
|
|
topUpSiPremiumGst = (topUpGstSum as double).toInt();
|
|
|
|
|
print(topUpSiPremiumGst);
|
|
|
|
|
|
|
|
|
|
topUpSiTotalAmt = topUpSiPremiumValue + topUpSiPremiumGst;
|
|
|
|
|
|
|
|
|
|
// topUpSiTotalAmt = (topUpSum as double).toInt();
|
|
|
|
|
|
|
|
|
|
print(topUpSiTotalAmt);
|
|
|
|
|
});
|
|
|
|
|
sendAddonsGmcSiToAPI();
|
|
|
|
|
} else {
|
|
|
|
|
@ -1083,8 +982,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
void topUpParentSiCalculation(choosedSiValue) async {
|
|
|
|
|
try {
|
|
|
|
|
print(choosedSiValue);
|
|
|
|
|
|
|
|
|
|
var calculation = {
|
|
|
|
|
'client_policy_id': topUpParentClientPolicyId,
|
|
|
|
|
'emp_code': empCodeString,
|
|
|
|
|
@ -1092,14 +989,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
'client_branch_id': empClientBranchId
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
print(calculation);
|
|
|
|
|
// Iterate through familyMembers list and send each member's data to the API
|
|
|
|
|
|
|
|
|
|
final response =
|
|
|
|
|
await apiService.topUpParentSiCalculationToAPI(calculation);
|
|
|
|
|
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
print(response['data']);
|
|
|
|
|
List<dynamic>? topUpEmpArray;
|
|
|
|
|
for (var item in response['data']) {
|
|
|
|
|
if (item.containsKey(empCodeString)) {
|
|
|
|
|
@ -1109,8 +1004,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (topUpEmpArray != null) {
|
|
|
|
|
print('Array for emp_code $empCodeString:');
|
|
|
|
|
print(topUpEmpArray);
|
|
|
|
|
double topUpRataPremimumSum = 0;
|
|
|
|
|
for (var item in topUpEmpArray) {
|
|
|
|
|
var topUpRataPremimum = item['policy_details']['rata_premimum'];
|
|
|
|
|
@ -1118,7 +1011,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpRataPremimumSum += topUpRataPremimum;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of rata_premimum: $topUpRataPremimumSum');
|
|
|
|
|
|
|
|
|
|
double topUpGstSum = 0;
|
|
|
|
|
for (var item in topUpEmpArray) {
|
|
|
|
|
@ -1127,16 +1019,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
topUpGstSum += topUpGst;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of gst: $topUpGstSum');
|
|
|
|
|
setState(() {
|
|
|
|
|
topUpParentSiPremiumValue =
|
|
|
|
|
(topUpRataPremimumSum as double).toInt();
|
|
|
|
|
print(topUpParentSiPremiumValue);
|
|
|
|
|
topUpParentSiPremiumGst = (topUpGstSum as double).toInt();
|
|
|
|
|
print(topUpSiPremiumGst);
|
|
|
|
|
topUpParentSiTotalAmt =
|
|
|
|
|
topUpParentSiPremiumValue + topUpParentSiPremiumGst;
|
|
|
|
|
print(topUpParentSiTotalAmt);
|
|
|
|
|
});
|
|
|
|
|
sendAddonsGmcParentSiToAPI();
|
|
|
|
|
} else {
|
|
|
|
|
@ -1152,8 +1040,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
void addOnsDependentCalculation(choosedDependentValue) async {
|
|
|
|
|
try {
|
|
|
|
|
print(choosedDependentValue);
|
|
|
|
|
|
|
|
|
|
var calculation = {
|
|
|
|
|
'client_policy_id': addOnsDependentClientPolicyId,
|
|
|
|
|
'emp_code': empCodeString,
|
|
|
|
|
@ -1161,14 +1047,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
'client_branch_id': empClientBranchId
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
print(calculation);
|
|
|
|
|
// Iterate through familyMembers list and send each member's data to the API
|
|
|
|
|
|
|
|
|
|
final response =
|
|
|
|
|
await apiService.addOnsDependentCalculationToAPI(calculation);
|
|
|
|
|
|
|
|
|
|
if (response['status'] == 'success') {
|
|
|
|
|
print(response['data']);
|
|
|
|
|
List<dynamic>? addOnsEmpArray;
|
|
|
|
|
for (var item in response['data']) {
|
|
|
|
|
if (item.containsKey(empCodeString)) {
|
|
|
|
|
@ -1178,8 +1062,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (addOnsEmpArray != null) {
|
|
|
|
|
print('Array for emp_code $empCodeString:');
|
|
|
|
|
print(addOnsEmpArray);
|
|
|
|
|
double addOnsRataPremimumSum = 0;
|
|
|
|
|
for (var item in addOnsEmpArray) {
|
|
|
|
|
var addOnsRataPremimum = item['policy_details']['rata_premimum'];
|
|
|
|
|
@ -1187,7 +1069,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
addOnsRataPremimumSum += addOnsRataPremimum;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of rata_premimum: $addOnsRataPremimumSum');
|
|
|
|
|
|
|
|
|
|
double addOnsGstSum = 0;
|
|
|
|
|
for (var item in addOnsEmpArray) {
|
|
|
|
|
@ -1196,16 +1077,12 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
addOnsGstSum += addOnsGst;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
print('Sum of gst: $addOnsGstSum');
|
|
|
|
|
setState(() {
|
|
|
|
|
addOnDependentPremiumValue =
|
|
|
|
|
(addOnsRataPremimumSum as double).toInt();
|
|
|
|
|
print(addOnDependentPremiumValue);
|
|
|
|
|
addOnsDependentPremiumGst = (addOnsGstSum as double).toInt();
|
|
|
|
|
print(addOnsDependentPremiumGst);
|
|
|
|
|
addOnsDependentTotalAmt =
|
|
|
|
|
addOnDependentPremiumValue + addOnsDependentPremiumGst;
|
|
|
|
|
print(topUpSiTotalAmt);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
print('Array not found for emp_code $empCodeString');
|
|
|
|
|
@ -1222,12 +1099,9 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
setState(() {
|
|
|
|
|
isLoading = true;
|
|
|
|
|
});
|
|
|
|
|
print('sendAddOnAPI');
|
|
|
|
|
|
|
|
|
|
if (gpaDataIsEmpty != 0) {
|
|
|
|
|
print('gpaDataIsEmpty : $gpaDataIsEmpty');
|
|
|
|
|
for (var item in gpaPolicies) {
|
|
|
|
|
print('ClientPolicyId');
|
|
|
|
|
// Extract ClientPolicyId value from each object
|
|
|
|
|
String clientPolicyId = item['ClientPolicyId'];
|
|
|
|
|
// Convert to integer and add to iAgreeForAddOn list
|
|
|
|
|
@ -1244,9 +1118,7 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
print('iAgreeForAddOn');
|
|
|
|
|
iAgreeForAddOn = iAgreeForAddOn.toSet().toList();
|
|
|
|
|
print(iAgreeForAddOn); // Output: [90, 92, 88, 89]
|
|
|
|
|
|
|
|
|
|
Map<String, dynamic> apiParams = {
|
|
|
|
|
'emp_code': empCodeString,
|
|
|
|
|
@ -1262,7 +1134,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
isLoading = false;
|
|
|
|
|
isChecked = false;
|
|
|
|
|
});
|
|
|
|
|
print('response.statusCode == 200');
|
|
|
|
|
ToastHelper.showSuccessToast(context, 'Saved Successfully...');
|
|
|
|
|
} else {
|
|
|
|
|
setState(() {
|
|
|
|
|
@ -1270,7 +1141,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
});
|
|
|
|
|
// Handle other status codes
|
|
|
|
|
ToastHelper.showErrorToast(context, 'failed to save');
|
|
|
|
|
print('Request failed with status: ${response['code']}');
|
|
|
|
|
}
|
|
|
|
|
} catch (e) {
|
|
|
|
|
setState(() {
|
|
|
|
|
@ -1285,8 +1155,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
|
|
|
if (prefs.containsKey('hrtoken')) {
|
|
|
|
|
String? mobileNo = prefs.getString('fromHrLoginMobileNo');
|
|
|
|
|
print('mobileNo');
|
|
|
|
|
print(mobileNo);
|
|
|
|
|
Navigator.pushNamed(context, 'empDetails',
|
|
|
|
|
arguments: {'mobile': mobileNo});
|
|
|
|
|
} else {
|
|
|
|
|
@ -1295,7 +1163,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void checkSiTopUp() async {
|
|
|
|
|
print('checkSiTopUp');
|
|
|
|
|
List<Map<String, dynamic>> siData = [
|
|
|
|
|
{
|
|
|
|
|
'topUpSiPremiumValue': topUpSiPremiumValue,
|
|
|
|
|
@ -1308,7 +1175,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void checkSiParentTopUp() async {
|
|
|
|
|
print('checkSiParentTopUp');
|
|
|
|
|
List<Map<String, dynamic>> siParentData = [
|
|
|
|
|
{
|
|
|
|
|
'topUpParentSiPremiumValue': topUpParentSiPremiumValue,
|
|
|
|
|
@ -1321,7 +1187,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void checkDependentTopUp() async {
|
|
|
|
|
print('checkDependentTopUp');
|
|
|
|
|
List<Map<String, dynamic>> dependentData = [
|
|
|
|
|
{
|
|
|
|
|
'addOnDependentPremiumValue': addOnDependentPremiumValue,
|
|
|
|
|
@ -1335,10 +1200,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
print('CVC');
|
|
|
|
|
print('Check1: $topUpSiPolicies');
|
|
|
|
|
print('CVC');
|
|
|
|
|
print('Check2: $addOnsDependentPolicies');
|
|
|
|
|
if (gpaDataIsEmpty == 0 && gmcDataIsEmpty == 0) {
|
|
|
|
|
return Scaffold(
|
|
|
|
|
appBar: CustomAppBar(),
|
|
|
|
|
@ -3823,7 +3684,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
if (_topUpSiSwitcher == false) {
|
|
|
|
|
removeAddonsGmcSiToAPI();
|
|
|
|
|
} else {
|
|
|
|
|
print('checkSiTopUp');
|
|
|
|
|
checkSiTopUp();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -3831,7 +3691,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
false) {
|
|
|
|
|
removeAddonsGmcParentSiToAPI();
|
|
|
|
|
} else {
|
|
|
|
|
print('checkSiParentTopUp');
|
|
|
|
|
checkSiParentTopUp();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -3839,7 +3698,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
false) {
|
|
|
|
|
removeAddonsGmcDependentToAPI();
|
|
|
|
|
} else {
|
|
|
|
|
print('checkDependentTopUp');
|
|
|
|
|
checkDependentTopUp();
|
|
|
|
|
sendAddonsGmcDependentToAPI();
|
|
|
|
|
}
|
|
|
|
|
@ -3949,25 +3807,14 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
|
|
|
|
|
Future<void> _launchURL(String url) async {
|
|
|
|
|
final Uri uri = Uri.parse(url); // Parse the URL properly
|
|
|
|
|
print('_launchURL $uri');
|
|
|
|
|
if (uri != null) {
|
|
|
|
|
print('If $uri');
|
|
|
|
|
await launchUrl(uri, mode: LaunchMode.externalApplication);
|
|
|
|
|
} else {
|
|
|
|
|
print('else $uri');
|
|
|
|
|
throw 'Could not launch $url';
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void openForm(Map<String, dynamic> floaterData, action) {
|
|
|
|
|
print(action);
|
|
|
|
|
print(floaterData);
|
|
|
|
|
print(relationshipOptions);
|
|
|
|
|
print('test');
|
|
|
|
|
print(_relationShipController);
|
|
|
|
|
print(_memberNameController);
|
|
|
|
|
print(_dobController);
|
|
|
|
|
|
|
|
|
|
dynamic popupName = floaterData['button_name'];
|
|
|
|
|
// Check if the action is 'Edit'
|
|
|
|
|
selectedRelationships = relationshipOptions
|
|
|
|
|
@ -3976,32 +3823,23 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(selectedRelationships);
|
|
|
|
|
print(addOnsDependentMappedFamilyFloatersDependent);
|
|
|
|
|
if (action == 'Add') {
|
|
|
|
|
if (floaterData['form_type'] == 'parent_in_law' ||
|
|
|
|
|
floaterData['form_type'] == 'parent') {
|
|
|
|
|
print('Add');
|
|
|
|
|
// Filter the addOnsDependentMappedFamilyFloatersDependent list to get only the objects where is_value_exist is true
|
|
|
|
|
dynamic getTrueObjects = addOnsDependentMappedFamilyFloatersDependent
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getTrueDataObjects = getTrueObjects
|
|
|
|
|
.map<Map<String, dynamic>>(
|
|
|
|
|
(element) => element['data'] as Map<String, dynamic>)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueDataObjects);
|
|
|
|
|
|
|
|
|
|
selectedRelationships.removeWhere((relationship) =>
|
|
|
|
|
getTrueDataObjects.any((dataObject) =>
|
|
|
|
|
dataObject['relationship'] ==
|
|
|
|
|
relationship['relationship_name']));
|
|
|
|
|
|
|
|
|
|
print(selectedRelationships);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -4280,25 +4118,17 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
dynamic getTrueObjects = gmcMappedFamilyFloaters
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
print('getTrueObjects');
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
if (getTrueObjects.length > 0) {
|
|
|
|
|
print('true');
|
|
|
|
|
gmcSumInsured = gmcMappedFamilyFloaters[0]["data"]["basic_cover_si"];
|
|
|
|
|
} else {
|
|
|
|
|
print('false');
|
|
|
|
|
gmcSumInsured = item['Policy_Terms']['sum_insured'];
|
|
|
|
|
}
|
|
|
|
|
gmcTypeName = item['type'];
|
|
|
|
|
});
|
|
|
|
|
print('forEach Card');
|
|
|
|
|
print(gmcMappedFamilyFloaters);
|
|
|
|
|
dynamic getTrueObjects = gmcMappedFamilyFloaters
|
|
|
|
|
.where((element) => element['is_value_exist'] == true)
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
print(getTrueObjects);
|
|
|
|
|
|
|
|
|
|
Widget card = getTrueObjects.length > 0
|
|
|
|
|
? Card(
|
|
|
|
|
elevation: 0,
|
|
|
|
|
@ -4465,9 +4295,6 @@ class _addOnsDetailsState extends State<addOnsDetails> {
|
|
|
|
|
List<Widget> cards = [];
|
|
|
|
|
|
|
|
|
|
for (var item in data) {
|
|
|
|
|
print('item');
|
|
|
|
|
print(item);
|
|
|
|
|
|
|
|
|
|
String? gpaPolicyName = item['Policy_Name'];
|
|
|
|
|
String? gpaPolicyType = item['type'];
|
|
|
|
|
String? gpaECardDownload = item['eCardDownload'];
|
|
|
|
|
|