|
|
|
@ -1,23 +1,25 @@
|
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/api/my_attendance_api_client.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/api/profile_api_client.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';
|
|
|
|
|
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/dyanmic_forms/get_set_values_request_model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/dyanmic_forms/validate_eit_transaction_model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/generic_response_model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/get_eit_dff_structure_list_model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/get_employee_basic_details.model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/get_employee_contacts.model.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/profile/basic_details_cols_structions.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/models/profile/basic_details_dff_structure.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/ui/misc/request_submit_screen.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/ui/my_attendance/dynamic_screens/dynamic_listview_screen.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
|
|
|
|
|
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
|
|
|
@ -31,7 +33,6 @@ class DynamicProfileParams {
|
|
|
|
|
String colsURL;
|
|
|
|
|
List<GetEmployeeBasicDetailsList>? getEmployeeBasicDetailsList;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DynamicProfileParams(this.title, this.dynamicId,
|
|
|
|
|
{this.uRL = 'GET_EIT_DFF_STRUCTURE', this.requestID = '', this.colsURL = '', this.getEmployeeBasicDetailsList = const <GetEmployeeBasicDetailsList>[]});
|
|
|
|
|
}
|
|
|
|
@ -51,6 +52,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
|
|
|
|
|
List<GetBasicDetColsStructureList>? getBasicDetColsStructureList;
|
|
|
|
|
DynamicProfileParams? dynamicParams;
|
|
|
|
|
|
|
|
|
|
String dESCFLEXCONTEXTCODE = "";
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
@ -153,11 +155,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
|
|
|
|
|
// 12.height,
|
|
|
|
|
DefaultButton(
|
|
|
|
|
LocaleKeys.next.tr(),
|
|
|
|
|
(getBasicDetDffStructureList ?? []).isEmpty
|
|
|
|
|
? null
|
|
|
|
|
: () => {
|
|
|
|
|
//Navigator.of(context).pushNamed(LOGIN_TYPE)
|
|
|
|
|
},
|
|
|
|
|
(getBasicDetDffStructureList ?? []).isEmpty ? null : () => {validateTransaction()},
|
|
|
|
|
).insideContainer,
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
@ -194,7 +192,6 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
|
|
|
|
|
isReadOnly: model.rEADONLY == "Y",
|
|
|
|
|
onChange: (text) {
|
|
|
|
|
getBasicDetDffStructureList![index].userBasicDetail!.sEGMENTVALUEDSP = text;
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
).paddingOnly(bottom: 12);
|
|
|
|
|
} else if (model.fORMATTYPE == "X") {
|
|
|
|
@ -326,4 +323,47 @@ class _DynamicInputScreenState extends State<DynamicInputScreenProfile> {
|
|
|
|
|
}
|
|
|
|
|
return time;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void validateTransaction() async {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
List<Map<String, dynamic>> values = getBasicDetDffStructureList!.map((e) {
|
|
|
|
|
String tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? "";
|
|
|
|
|
if (e.fORMATTYPE == "X") {
|
|
|
|
|
// for date format type, date format is changed
|
|
|
|
|
tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? "";
|
|
|
|
|
if (tempVar.isNotEmpty) {
|
|
|
|
|
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
|
|
|
|
|
tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ValidateEitTransactionModel(dATEVALUE: null, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson();
|
|
|
|
|
}).toList();
|
|
|
|
|
|
|
|
|
|
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson());
|
|
|
|
|
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());
|
|
|
|
|
List<Map<String, dynamic>> valuesCols = getBasicDetColsStructureList!.map((e) {
|
|
|
|
|
String tempVar = e.userBasicDetail!.vARCHAR2VALUE ?? "";
|
|
|
|
|
if (e.dATATYPE == "DATE") {
|
|
|
|
|
// for date format type, date format is changed
|
|
|
|
|
tempVar = e.userBasicDetail!.dATEVALUE ?? "";
|
|
|
|
|
if (tempVar.isNotEmpty) {
|
|
|
|
|
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
|
|
|
|
|
tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ValidateEitTransactionModel(dATEVALUE: tempVar, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson();
|
|
|
|
|
}).toList();
|
|
|
|
|
List<Map<String, dynamic>> transactionValues = new List.from(values)..addAll(valuesCols);
|
|
|
|
|
print(transactionValues);
|
|
|
|
|
//genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
|
|
|
|
|
// SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
// Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams("title", submitEITTransactionList.pTRANSACTIONID!, submitEITTransactionList.pITEMKEY!, 'eit'));
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.handleException(ex, context, null);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|