|
|
|
|
@ -5,6 +5,7 @@ import 'package:flutter/cupertino.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/api/leave_balance_api_client.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/api/my_attendance_api_client.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/classes/utils.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/config/routes.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
|
|
|
|
@ -43,7 +44,8 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
void getTransactionsStructure() async {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
genericResponseModel = await MyAttendanceApiClient().getEitDffStructure(dynamicParams!.dynamicId);
|
|
|
|
|
|
|
|
|
|
genericResponseModel = await MyAttendanceApiClient().getEitDffStructure(dynamicParams!.dynamicId, dynamicParams!.selectedEmp);
|
|
|
|
|
dESCFLEXCONTEXTCODE = genericResponseModel!.pDESCFLEXCONTEXTCODE ?? "";
|
|
|
|
|
descFlexConTextTitle = genericResponseModel!.pDESCFLEXCONTEXTNAME ?? "";
|
|
|
|
|
getEitDffStructureList = genericResponseModel?.getEITDFFStructureList ?? [];
|
|
|
|
|
@ -90,7 +92,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
|
|
|
|
|
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);
|
|
|
|
|
genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values, empID:dynamicParams!.selectedEmp ??'');
|
|
|
|
|
SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
await Navigator.pushNamed(context, AppRoutes.requestSubmitScreen,
|
|
|
|
|
@ -112,14 +114,14 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
String segmentId = structureList.cHILDSEGMENTSVS!;
|
|
|
|
|
if (dESCFLEXCONTEXTCODE.isEmpty) dESCFLEXCONTEXTCODE = structureList.dESCFLEXCONTEXTCODE!;
|
|
|
|
|
|
|
|
|
|
List<GetEITDFFStructureList> filteredList = getEitDffStructureList?.where((element) => element.cHILDSEGMENTSVSSplited!.contains(segmentId)).toList() ?? [];
|
|
|
|
|
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();
|
|
|
|
|
List<ESERVICESVS> eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
|
|
|
|
|
List<ESERVICESVS> eServicesResponseModel = await MyAttendanceApiClient().getValueSetValues(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!,
|
|
|
|
|
values, empID:dynamicParams!.selectedEmp ??'', parentValue: structureList.eSERVICESDV!.pVALUECOLUMNNAME );
|
|
|
|
|
List<GetEITDFFStructureList> abc = genericResponseModel?.getEITDFFStructureList ?? [];
|
|
|
|
|
getEitDffStructureList = abc;
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == structureList.cHILDSEGMENTSVS);
|
|
|
|
|
@ -155,7 +157,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
|
|
|
|
|
List<Map<String, dynamic>> getSetList = getDefaultValuesIonicLogic(parent);
|
|
|
|
|
if (getSetList.isNotEmpty) {
|
|
|
|
|
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList);
|
|
|
|
|
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList, dynamicParams!.selectedEmp);
|
|
|
|
|
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
|
|
|
|
|
getEitDffStructureList![index].eSERVICESDV = defaultValue;
|
|
|
|
|
}
|
|
|
|
|
@ -340,7 +342,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 {}
|
|
|
|
|
@ -362,7 +364,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 {}
|
|
|
|
|
@ -392,6 +394,9 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
if (dynamicParams == null) {
|
|
|
|
|
dynamicParams = ModalRoute.of(context)!.settings.arguments as DynamicListViewParams;
|
|
|
|
|
if(dynamicParams!.selectedEmp.isNotEmpty){
|
|
|
|
|
AppState().postParamsJson['P_SELECTED_EMPLOYEE_NUMBER'] = dynamicParams!.selectedEmp;
|
|
|
|
|
}
|
|
|
|
|
getTransactionsStructure();
|
|
|
|
|
}
|
|
|
|
|
return Scaffold(
|
|
|
|
|
|