|
|
|
|
@ -48,17 +48,6 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
descFlexConTextTitle = genericResponseModel!.pDESCFLEXCONTEXTNAME ?? "";
|
|
|
|
|
getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
|
|
|
|
|
//getEitDffStructureList = getEitDffStructureList!.where((element) => element.dISPLAYFLAG != "N").toList();
|
|
|
|
|
if (dynamicParams!.collectionNotificationList != null && dynamicParams!.collectionNotificationList!.isNotEmpty) {
|
|
|
|
|
getEitDffStructureList!.forEach((element) {
|
|
|
|
|
dynamicParams!.collectionNotificationList!.forEach((element2) {
|
|
|
|
|
if (element.sEGMENTNAME == element2.segmentName) {
|
|
|
|
|
element.fieldAnswer = element2.varchar2Value;
|
|
|
|
|
element.eSERVICESDV ??= ESERVICESDV();
|
|
|
|
|
element.eSERVICESDV!.pIDCOLUMNNAME = element2.varchar2Value;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
setState(() {});
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
@ -68,7 +57,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void validateTransaction() async {
|
|
|
|
|
// try {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
List<Map<String, dynamic>> values = getEitDffStructureList!.map((e) {
|
|
|
|
|
String tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? "";
|
|
|
|
|
@ -102,11 +91,6 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
|
|
|
|
|
|
|
|
|
|
genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
|
|
|
|
|
if (dynamicParams!.collectionNotificationList != null && dynamicParams!.collectionNotificationList!.isNotEmpty) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Navigator.pop(context, values);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
await Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,
|
|
|
|
|
@ -114,10 +98,10 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
await LeaveBalanceApiClient().cancelHrTransaction(submitEITTransactionList.pTRANSACTIONID!);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
// } catch (ex) {
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
// Utils.handleException(ex, context, null);
|
|
|
|
|
// }
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.handleException(ex, context, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String dESCFLEXCONTEXTCODE = "";
|
|
|
|
|
@ -126,42 +110,19 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
Future calGetValueSetValues(GetEITDFFStructureList structureList) async {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
List<Map<String, dynamic>> values = [];
|
|
|
|
|
String segmentId = structureList.cHILDSEGMENTSVS!;
|
|
|
|
|
|
|
|
|
|
if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!;
|
|
|
|
|
|
|
|
|
|
List<GetEITDFFStructureList> filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVSSplited!.contains(segmentId)).toList() ?? [];
|
|
|
|
|
|
|
|
|
|
if (filteredList.isEmpty && structureList.cHILDSEGMENTSVSSplited!.isNotEmpty) {
|
|
|
|
|
segmentId = structureList.cHILDSEGMENTSVSSplited![0];
|
|
|
|
|
filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVSSplited!.contains(segmentId)).toList() ?? [];
|
|
|
|
|
}
|
|
|
|
|
values = filteredList
|
|
|
|
|
List<Map<String, dynamic>> values = filteredList
|
|
|
|
|
.map((e) => GetSetValuesRequestModel(
|
|
|
|
|
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
|
|
|
|
|
.toJson())
|
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
// if (parentValue.isNotEmpty && (structureList.vALIDATIONTYPE == "F")) {
|
|
|
|
|
// values = getDependenciesParams(parentValue);
|
|
|
|
|
// }
|
|
|
|
|
// if (structureList.pARENTSEGMENTSVSSplitedVS!.isNotEmpty) {
|
|
|
|
|
// structureList.pARENTSEGMENTSVSSplitedVS!.forEach((element2) {
|
|
|
|
|
// filteredList = getEitDffStructureList?.where((element) => element.sEGMENTNAME == element2.name).toList() ?? [];
|
|
|
|
|
// values = filteredList
|
|
|
|
|
// .map((e) => GetSetValuesRequestModel(
|
|
|
|
|
// sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
|
|
|
|
|
// .toJson())
|
|
|
|
|
// .toList();
|
|
|
|
|
// });
|
|
|
|
|
// List<GetEITDFFStructureList> filteredList2 = getEitDffStructureList?.where((element) => element.fLEXVALUESETNAME == structureList.fLEXVALUESETNAME).toList() ?? [];
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
List<ESERVICESVS> eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
|
|
|
|
|
List<GetEITDFFStructureList> abc = genericResponseModel?.getEITDFFStructureList ?? [];
|
|
|
|
|
getEitDffStructureList = abc;
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS);
|
|
|
|
|
getEitDffStructureList![index].eSERVICESVS!.clear();
|
|
|
|
|
if (eServicesResponseModel.isNotEmpty) getEitDffStructureList![index].eSERVICESVS!.addAll(eServicesResponseModel);
|
|
|
|
|
// getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
|
|
|
|
|
@ -175,7 +136,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future getDefaultValues(GetEITDFFStructureList structureList) async {
|
|
|
|
|
// try {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
|
|
|
|
|
String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
|
|
|
|
|
@ -197,34 +158,15 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList);
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
getEitDffStructureList![index].eSERVICESDV = defaultValue;
|
|
|
|
|
GetEITDFFStructureList defaultValueCheck = getEitDffStructureList!.where((GetEITDFFStructureList element) => element.sEGMENTNAME == segmentId).toList().first;
|
|
|
|
|
|
|
|
|
|
if (defaultValueCheck.cHILDSEGMENTSDVSplited!.isNotEmpty && defaultValueCheck.rEADONLY == 'Y') {
|
|
|
|
|
getDefaultValues(defaultValueCheck);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
|
|
|
|
|
// GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
// List<Map<String, dynamic>> getSetList = getDefaultValuesIonicLogic(parent);
|
|
|
|
|
// ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, defaultValueCheck.dESCFLEXCONTEXTCODE!, defaultValueCheck.dESCFLEXNAME!, getSetList);
|
|
|
|
|
// int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
// getEitDffStructureList![index].eSERVICESDV = defaultValue;
|
|
|
|
|
} else if (defaultValueCheck.cHILDSEGMENTSVSSplited!.isNotEmpty && defaultValueCheck.rEADONLY == 'Y') {
|
|
|
|
|
calGetValueSetValues(defaultValueCheck);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
}
|
|
|
|
|
} else if (values.isNotEmpty) {
|
|
|
|
|
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
getEitDffStructureList![index].eSERVICESDV = defaultValue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
await Future.delayed(const Duration(seconds: 1));
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
setState(() {});
|
|
|
|
|
// } catch (ex) {
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
// Utils.handleException(ex, context, null);
|
|
|
|
|
// }
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.handleException(ex, context, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// List<Map<String, dynamic>> calGetValueSetValuesIonicLogic(GetEITDFFStructureList structureElement) {
|
|
|
|
|
@ -238,7 +180,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getDefaultValuesIonicLogic(GetEITDFFStructureList structureElement) {
|
|
|
|
|
//try {
|
|
|
|
|
try {
|
|
|
|
|
List<PARENTSEGMENTSVSSplitedVS> parentValue = structureElement.pARENTSEGMENTSVSSplitedVS ?? [];
|
|
|
|
|
List<PARENTSEGMENTSDVSplited> parentsList = structureElement.pARENTSEGMENTSDVSplited ?? [];
|
|
|
|
|
|
|
|
|
|
@ -306,11 +248,11 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
// }
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
// setState(() {});
|
|
|
|
|
// } catch (ex) {
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
// Utils.handleException(ex, context, null);
|
|
|
|
|
// return [];
|
|
|
|
|
// }
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.handleException(ex, context, null);
|
|
|
|
|
return [];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getDependenciesParams(parentsList) {
|
|
|
|
|
@ -318,7 +260,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < parentsList.length; i++) {
|
|
|
|
|
for (int j = 0; j < (getEitDffStructureList?.length ?? 0); j++) {
|
|
|
|
|
if (getEitDffStructureList![j].sEGMENTNAME == parentsList[i]?.name) {
|
|
|
|
|
if (getEitDffStructureList![j].sEGMENTNAME == parentsList[i].name) {
|
|
|
|
|
if (getEitDffStructureList![j].dISPLAYFLAG != "N") {
|
|
|
|
|
if (getEitDffStructureList![j].vALIDATIONTYPE == "N") {
|
|
|
|
|
String? idColName;
|
|
|
|
|
@ -398,7 +340,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
|
|
|
|
|
String? text = data?.pVALUECOLUMNNAME;
|
|
|
|
|
String? val = data?.pIDCOLUMNNAME;
|
|
|
|
|
if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") {
|
|
|
|
|
if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") {
|
|
|
|
|
//alert(parentsList[i].Name +" Is required");
|
|
|
|
|
return [];
|
|
|
|
|
} else {}
|
|
|
|
|
@ -420,8 +362,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
|
|
|
|
|
String? text = data?.pVALUECOLUMNNAME;
|
|
|
|
|
String? val = data?.pIDCOLUMNNAME;
|
|
|
|
|
///
|
|
|
|
|
if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") {
|
|
|
|
|
if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") {
|
|
|
|
|
//alert(parentsList[i].Name +" Is required");
|
|
|
|
|
return [];
|
|
|
|
|
} else {}
|
|
|
|
|
@ -514,11 +455,6 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
model.eSERVICESDV ??= ESERVICESDV();
|
|
|
|
|
model.eSERVICESDV!.pIDCOLUMNNAME = text;
|
|
|
|
|
},
|
|
|
|
|
onTap: () async {
|
|
|
|
|
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
|
|
|
|
|
await getDefaultValues(model);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
).paddingOnly(bottom: 12);
|
|
|
|
|
} else if (model.fORMATTYPE == "X") {
|
|
|
|
|
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
|
|
|
|
|
|