|
|
|
|
@ -26,7 +26,7 @@ import 'package:mohem_flutter_app/widgets/dynamic_forms/dynamic_textfield_widget
|
|
|
|
|
|
|
|
|
|
class AddLeaveBalanceScreen extends StatefulWidget {
|
|
|
|
|
final String selectedEmp;
|
|
|
|
|
AddLeaveBalanceScreen({this.selectedEmp ='', Key? key}) : super(key: key);
|
|
|
|
|
AddLeaveBalanceScreen({this.selectedEmp = '', Key? key}) : super(key: key);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
_AddLeaveBalanceScreenState createState() {
|
|
|
|
|
@ -45,14 +45,14 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
|
|
|
|
|
String comment = "";
|
|
|
|
|
ReplacementList? selectedReplacementEmployee;
|
|
|
|
|
dynamic dynamicParams;
|
|
|
|
|
String selectedEmp ="";
|
|
|
|
|
String selectedEmp = "";
|
|
|
|
|
|
|
|
|
|
DateTime selectedDate = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day);
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
void initState() {
|
|
|
|
|
super.initState();
|
|
|
|
|
//getAbsenceAttendanceTypes();
|
|
|
|
|
//getAbsenceAttendanceTypes();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void getAbsenceAttendanceTypes() async {
|
|
|
|
|
@ -96,59 +96,59 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void validateAbsenceTransaction(selectedID) async {
|
|
|
|
|
try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
Map<String, String?> dffDataMap = {};
|
|
|
|
|
for (int i = 1; i <= 20; i++) {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] = null;
|
|
|
|
|
for (int dffIndex = 0; dffIndex < getabsenceDffStructureList.length; dffIndex++) {
|
|
|
|
|
if ("ATTRIBUTE$i" == getabsenceDffStructureList[dffIndex].aPPLICATIONCOLUMNNAME) {
|
|
|
|
|
if (getabsenceDffStructureList[dffIndex].fORMATTYPE == "X") {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] =
|
|
|
|
|
getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME != null ? Utils.formatDate(getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME!) : "";
|
|
|
|
|
} else {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] = getabsenceDffStructureList[dffIndex].eSERVICESDV?.pIDCOLUMNNAME;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
//try {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
Map<String, String?> dffDataMap = {};
|
|
|
|
|
for (int i = 1; i <= 20; i++) {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] = null;
|
|
|
|
|
for (int dffIndex = 0; dffIndex < getabsenceDffStructureList.length; dffIndex++) {
|
|
|
|
|
if ("ATTRIBUTE$i" == getabsenceDffStructureList[dffIndex].aPPLICATIONCOLUMNNAME) {
|
|
|
|
|
if (getabsenceDffStructureList[dffIndex].fORMATTYPE == "X") {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] =
|
|
|
|
|
getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME != null ? Utils.formatDate(getabsenceDffStructureList[dffIndex].eSERVICESDV!.pIDCOLUMNNAME!) : "";
|
|
|
|
|
} else {
|
|
|
|
|
dffDataMap["P_ATTRIBUTE$i"] = getabsenceDffStructureList[dffIndex].eSERVICESDV?.pIDCOLUMNNAME;
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
await LeaveBalanceApiClient().validateAbsenceTransaction(
|
|
|
|
|
selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
|
|
|
|
|
"HR_LOA_SS",
|
|
|
|
|
selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
|
|
|
|
|
selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "",
|
|
|
|
|
DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
-999,
|
|
|
|
|
dffDataMap,
|
|
|
|
|
comments: comment,
|
|
|
|
|
empID: selectedEmp);
|
|
|
|
|
}
|
|
|
|
|
await LeaveBalanceApiClient().validateAbsenceTransaction(
|
|
|
|
|
selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
|
|
|
|
|
"HR_LOA_SS",
|
|
|
|
|
selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
|
|
|
|
|
selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "",
|
|
|
|
|
DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
-999,
|
|
|
|
|
dffDataMap,
|
|
|
|
|
comments: comment,
|
|
|
|
|
empID: selectedEmp);
|
|
|
|
|
|
|
|
|
|
SumbitAbsenceTransactionList submit = await LeaveBalanceApiClient().submitAbsenceTransaction(
|
|
|
|
|
selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
|
|
|
|
|
"HR_LOA_SS",
|
|
|
|
|
selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
|
|
|
|
|
selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "",
|
|
|
|
|
DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
-999,
|
|
|
|
|
dffDataMap,
|
|
|
|
|
comments: comment,
|
|
|
|
|
empID: selectedEmp);
|
|
|
|
|
SumbitAbsenceTransactionList submit = await LeaveBalanceApiClient().submitAbsenceTransaction(
|
|
|
|
|
selectedAbsenceType!.dESCFLEXCONTEXTCODE!,
|
|
|
|
|
"HR_LOA_SS",
|
|
|
|
|
selectedAbsenceType!.aBSENCEATTENDANCETYPEID!,
|
|
|
|
|
selectedReplacementEmployee != null ? selectedReplacementEmployee!.userName! : "",
|
|
|
|
|
DateUtil.getFormattedDate(startDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
DateUtil.getFormattedDate(endDateTime!, "MM/dd/yyyy"),
|
|
|
|
|
-999,
|
|
|
|
|
dffDataMap,
|
|
|
|
|
comments: comment,
|
|
|
|
|
empID: selectedEmp);
|
|
|
|
|
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
|
|
|
|
|
var res = await Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams(LocaleKeys.submit.tr(), submit.pTRANSACTIONID!, "", "add_leave_balance"));
|
|
|
|
|
if (res != null && res == true) {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
}
|
|
|
|
|
await LeaveBalanceApiClient().cancelHrTransaction(submit.pTRANSACTIONID!);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
} catch (ex) {
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
Utils.handleException(ex, context, null);
|
|
|
|
|
var res = await Navigator.pushNamed(context, AppRoutes.requestSubmitScreen, arguments: RequestSubmitScreenParams(LocaleKeys.submit.tr(), submit.pTRANSACTIONID!, "", "add_leave_balance"));
|
|
|
|
|
if (res != null && res == true) {
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
}
|
|
|
|
|
await LeaveBalanceApiClient().cancelHrTransaction(submit.pTRANSACTIONID!);
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
// } catch (ex) {
|
|
|
|
|
// Utils.hideLoading(context);
|
|
|
|
|
// Utils.handleException(ex, context, null);
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
@ -159,15 +159,12 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
if (dynamicParams == null) {
|
|
|
|
|
dynamicParams = ModalRoute
|
|
|
|
|
.of(context)!
|
|
|
|
|
.settings
|
|
|
|
|
.arguments;
|
|
|
|
|
dynamicParams = ModalRoute.of(context)!.settings.arguments;
|
|
|
|
|
if (dynamicParams.isNotEmpty) {
|
|
|
|
|
AppState().postParamsJson['P_SELECTED_EMPLOYEE_NUMBER'] = dynamicParams;
|
|
|
|
|
selectedEmp =dynamicParams;
|
|
|
|
|
selectedEmp = dynamicParams;
|
|
|
|
|
getAbsenceAttendanceTypes();
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
getAbsenceAttendanceTypes();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|