Merge branch 'development_sikander' into 'master'

Development sikander

See merge request mirza.shafique/mohem_flutter_app!65
merge-requests/1/merge
Sikander Saleem 3 years ago
commit e7e6d6e7a1

@ -2,6 +2,7 @@ import 'package:mohem_flutter_app/api/api_client.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/consts.dart';
import 'package:mohem_flutter_app/models/generic_response_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/calculate_absence_duration_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_attendance_types_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_transaction_list_model.dart';
@ -33,6 +34,24 @@ class LeaveBalanceApiClient {
}, url, postParams);
}
Future<CalculateAbsenceDuration> calculateAbsenceDuration(int pAbsenceAttendanceTypeID, String pDateStart, String pDateEnd, int pSelectedResopID) async {
String url = "${ApiConsts.erpRest}CALCULATE_ABSENCE_DURATION";
Map<String, dynamic> postParams = {
"P_ABSENCE_ATTENDANCE_TYPE_ID": pAbsenceAttendanceTypeID,
"P_DATE_END": pDateStart, //"29-Sep-2022",
"P_DATE_START": pDateEnd,
"P_SELECTED_RESP_ID": pSelectedResopID,
"P_MENU_TYPE": "E",
"P_TIME_END": null,
"P_TIME_START": null,
};
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData.calculateAbsenceDuration!;
}, url, postParams);
}
Future<List<GetAbsenceDffStructureList>> getAbsenceDffStructure(String pDescFlexContextCode, String pFunctionName, int pSelectedResopID) async {
String url = "${ApiConsts.erpRest}GET_ABSENCE_DFF_STRUCTURE";
Map<String, dynamic> postParams = {"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode, "P_FUNCTION_NAME": pFunctionName, "P_MENU_TYPE": "E", "P_SELECTED_RESP_ID": pSelectedResopID};
@ -42,4 +61,58 @@ class LeaveBalanceApiClient {
return responseData.getAbsenceDffStructureList ?? [];
}, url, postParams);
}
Future<GenericResponseModel> validateAbsenceTransaction(
String pDescFlexContextCode, String pFunctionName, int pAbsenceAttendanceTypeID, String pReplacementUserName, String pDateStart, String pDateEnd, int pSelectedResopID, Map<String, String> data,
{String comments = ""}) async {
String url = "${ApiConsts.erpRest}VALIDATE_ABSENCE_TRANSACTION";
Map<String, dynamic> postParams = {
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName,
"P_REPLACEMENT_USER_NAME": pReplacementUserName,
"P_ABSENCE_ACTION": "CREATE",
"P_ABSENCE_COMMENTS": comments,
"P_ABSENCE_ATTENDANCE_ID": pAbsenceAttendanceTypeID,
"P_ABSENCE_ATTENDANCE_TYPE_ID": pAbsenceAttendanceTypeID,
"P_DATE_END": pDateStart, //"29-Sep-2022",
"P_DATE_START": pDateEnd,
"P_SELECTED_RESP_ID": pSelectedResopID,
"P_MENU_TYPE": "E",
"P_TIME_END": null,
"P_TIME_START": null,
};
postParams.addAll(data);
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData;
}, url, postParams);
}
Future<GenericResponseModel> submitAbsenceTransaction(
String pDescFlexContextCode, String pFunctionName, int pAbsenceAttendanceTypeID, String pReplacementUserName, String pDateStart, String pDateEnd, int pSelectedResopID, Map<String, String> data,
{String comments = ""}) async {
String url = "${ApiConsts.erpRest}SUBMIT_ABSENCE_TRANSACTION";
Map<String, dynamic> postParams = {
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName,
"P_REPLACEMENT_USER_NAME": pReplacementUserName,
"P_ABSENCE_ACTION": "CREATE",
"P_ABSENCE_COMMENTS": comments,
"P_ABSENCE_ATTENDANCE_ID": pAbsenceAttendanceTypeID,
"P_ABSENCE_ATTENDANCE_TYPE_ID": pAbsenceAttendanceTypeID,
"P_DATE_END": pDateStart, //"29-Sep-2022",
"P_DATE_START": pDateEnd,
"P_SELECTED_RESP_ID": pSelectedResopID,
"P_MENU_TYPE": "E",
"P_TIME_END": null,
"P_TIME_START": null,
};
postParams.addAll(data);
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
return responseData;
}, url, postParams);
}
}

@ -192,4 +192,66 @@ class Utils {
],
);
}
/// EIT Forms date formats
static String getMonthNamedFormat(DateTime date) {
/// it will return like "29-Sep-2022"
return DateFormat('dd-MMM-yyyy').format(date);
}
static String reverseFormatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
formattedDate = formattedDate.replaceAll(' 00:00:00', '');
} else {
formattedDate = date;
}
return formattedDate;
}
static String formatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('-', '/');
} else {
formattedDate = date;
}
return formattedDate;
}
static String reverseFormatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
} else {
formattedDate = date;
}
return formattedDate;
}
static String formatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
date = date.substring(0, 10);
formattedDate = date.replaceAll('-', '/');
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
static String formatDateNew(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.split('T')[0];
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
}

@ -33,6 +33,7 @@ import 'package:mohem_flutter_app/models/get_stamp_ms_notification_body_list_mod
import 'package:mohem_flutter_app/models/get_stamp_ns_notification_body_list_model.dart';
import 'package:mohem_flutter_app/models/get_time_card_summary_list_model.dart';
import 'package:mohem_flutter_app/models/get_user_item_type_list.dart';
import 'package:mohem_flutter_app/models/leave_balance/calculate_absence_duration_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_attendance_types_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_transaction_list_model.dart';
@ -72,9 +73,9 @@ import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart';
import 'package:mohem_flutter_app/models/start_phone_approval_process_model.dart';
import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/subordinates_on_leaves_model.dart';
import 'package:mohem_flutter_app/models/vacation_rule/create_vacation_rule_list_model.dart';
import 'package:mohem_flutter_app/models/update_item_type_success_list.dart';
import 'package:mohem_flutter_app/models/update_user_item_type_list.dart';
import 'package:mohem_flutter_app/models/vacation_rule/create_vacation_rule_list_model.dart';
import 'package:mohem_flutter_app/models/vacation_rule/get_item_type_notifications_list_model.dart';
import 'package:mohem_flutter_app/models/vacation_rule/get_notification_reassign_mode_list_model.dart';
import 'package:mohem_flutter_app/models/vacation_rule/get_vacation_rules_list_model.dart';
@ -123,7 +124,7 @@ class GenericResponseModel {
String? bCLogo;
BasicMemberInformationModel? basicMemberInformation;
bool? businessCardPrivilege;
String? calculateAbsenceDuration;
CalculateAbsenceDuration? calculateAbsenceDuration;
String? cancelHRTransactionLIst;
String? chatEmployeeLoginList;
String? companyBadge;
@ -655,7 +656,7 @@ class GenericResponseModel {
bCLogo = json['BC_Logo'];
basicMemberInformation = json['BasicMemberInformation'] != null ? BasicMemberInformationModel.fromJson(json['BasicMemberInformation']) : null;
businessCardPrivilege = json['BusinessCardPrivilege'];
calculateAbsenceDuration = json['CalculateAbsenceDuration'];
calculateAbsenceDuration = json['CalculateAbsenceDuration'] != null ? new CalculateAbsenceDuration.fromJson(json['CalculateAbsenceDuration']) : null;
cancelHRTransactionLIst = json['CancelHRTransactionLIst'];
chatEmployeeLoginList = json['Chat_EmployeeLoginList'];
companyBadge = json['CompanyBadge'];
@ -857,8 +858,7 @@ class GenericResponseModel {
if (json['GetEmployeeSubordinatesList'] != null) {
getEmployeeSubordinatesList = <GetEmployeeSubordinatesList>[];
json['GetEmployeeSubordinatesList'].forEach((v) {
getEmployeeSubordinatesList!
.add(new GetEmployeeSubordinatesList.fromJson(v));
getEmployeeSubordinatesList!.add(new GetEmployeeSubordinatesList.fromJson(v));
});
}
getFliexfieldStructureList = json['GetFliexfieldStructureList'];
@ -1253,13 +1253,10 @@ class GenericResponseModel {
if (json['UpdateItemTypeSuccessList'] != null) {
updateItemTypeSuccessList = <UpdateItemTypeSuccessList>[];
json['UpdateItemTypeSuccessList'].forEach((v) {
updateItemTypeSuccessList!
.add(new UpdateItemTypeSuccessList.fromJson(v));
updateItemTypeSuccessList!.add(new UpdateItemTypeSuccessList.fromJson(v));
});
}
updateUserItemTypesList = json['UpdateUserItemTypesList'] != null
? new UpdateUserItemTypesList.fromJson(json['UpdateUserItemTypesList'])
: null;
updateUserItemTypesList = json['UpdateUserItemTypesList'] != null ? new UpdateUserItemTypesList.fromJson(json['UpdateUserItemTypesList']) : null;
updateVacationRuleList = json['UpdateVacationRuleList'];
vHREmployeeLoginList = json['VHR_EmployeeLoginList'];
vHRGetEmployeeDetailsList = json['VHR_GetEmployeeDetailsList'];
@ -1334,7 +1331,10 @@ class GenericResponseModel {
data['BasicMemberInformation'] = this.basicMemberInformation!.toJson();
}
data['BusinessCardPrivilege'] = this.businessCardPrivilege;
data['CalculateAbsenceDuration'] = this.calculateAbsenceDuration;
if (this.calculateAbsenceDuration != null) {
data['CalculateAbsenceDuration'] = this.calculateAbsenceDuration!.toJson();
}
data['CancelHRTransactionLIst'] = this.cancelHRTransactionLIst;
data['Chat_EmployeeLoginList'] = this.chatEmployeeLoginList;
data['CompanyBadge'] = this.companyBadge;
@ -1449,8 +1449,7 @@ class GenericResponseModel {
data['GetEmployeePhonesList'] = this.getEmployeePhonesList!.map((v) => v.toJson()).toList();
}
if (this.getEmployeeSubordinatesList != null) {
data['GetEmployeeSubordinatesList'] =
this.getEmployeeSubordinatesList!.map((v) => v.toJson()).toList();
data['GetEmployeeSubordinatesList'] = this.getEmployeeSubordinatesList!.map((v) => v.toJson()).toList();
}
data['GetFliexfieldStructureList'] = this.getFliexfieldStructureList;
data['GetHrCollectionNotificationBodyList'] = this.getHrCollectionNotificationBodyList;
@ -1689,8 +1688,7 @@ class GenericResponseModel {
data['UpdateAttachmentList'] = this.updateAttachmentList;
data['UpdateEmployeeImageList'] = this.updateEmployeeImageList;
if (this.updateItemTypeSuccessList != null) {
data['UpdateItemTypeSuccessList'] =
this.updateItemTypeSuccessList!.map((v) => v.toJson()).toList();
data['UpdateItemTypeSuccessList'] = this.updateItemTypeSuccessList!.map((v) => v.toJson()).toList();
}
if (this.updateUserItemTypesList != null) {
data['UpdateUserItemTypesList'] = this.updateUserItemTypesList!.toJson();

@ -0,0 +1,24 @@
class CalculateAbsenceDuration {
int? pABSENCEDAYS;
int? pABSENCEHOURS;
String? pRETURNMSG;
String? pRETURNSTATUS;
CalculateAbsenceDuration({this.pABSENCEDAYS, this.pABSENCEHOURS, this.pRETURNMSG, this.pRETURNSTATUS});
CalculateAbsenceDuration.fromJson(Map<String, dynamic> json) {
pABSENCEDAYS = json['P_ABSENCE_DAYS'];
pABSENCEHOURS = json['P_ABSENCE_HOURS'];
pRETURNMSG = json['P_RETURN_MSG'];
pRETURNSTATUS = json['P_RETURN_STATUS'];
}
Map<String, dynamic> toJson() {
Map<String, dynamic> data = new Map<String, dynamic>();
data['P_ABSENCE_DAYS'] = this.pABSENCEDAYS;
data['P_ABSENCE_HOURS'] = this.pABSENCEHOURS;
data['P_RETURN_MSG'] = this.pRETURNMSG;
data['P_RETURN_STATUS'] = this.pRETURNSTATUS;
return data;
}
}

@ -190,4 +190,6 @@ class GetAbsenceDffStructureList {
data['VALIDATION_TYPE_DSP'] = this.vALIDATIONTYPEDSP;
return data;
}
bool get isDefaultTypeIsCDPS => (dEFAULTTYPE == "C" || dEFAULTTYPE == "D" || dEFAULTTYPE == "P" || dEFAULTTYPE == "S");
}

@ -37,8 +37,6 @@ class GetAbsenceTransactionList {
this.uPDATEBUTTON});
GetAbsenceTransactionList.fromJson(Map<String, dynamic> json) {
print("json:$json");
print("type:ABSENCE_DAYS:${(json['ABSENCE_DAYS']).runtimeType}");
aBSENCEATTENDANCEID = json['ABSENCE_ATTENDANCE_ID'];
aBSENCEATTENDANCETYPEID = json['ABSENCE_ATTENDANCE_TYPE_ID'];
aBSENCECATEGORY = json['ABSENCE_CATEGORY'];

@ -8,6 +8,8 @@ import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/extensions/int_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/get_eit_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/calculate_absence_duration_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_attendance_types_list_model.dart';
import 'package:mohem_flutter_app/models/leave_balance/get_absence_dff_structure_list_model.dart';
import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart';
@ -31,12 +33,14 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
List<GetAbsenceAttendanceTypesList> absenceList = [];
GetAbsenceAttendanceTypesList? selectedAbsenceType;
DateTime? startTime;
DateTime? endTime;
int totalDays = 0;
DateTime? startDateTime;
DateTime? endDateTime;
int? totalDays;
String comment = "";
ReplacementList? selectedReplacementEmployee;
DateTime selectedDate = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day);
@override
void initState() {
super.initState();
@ -68,6 +72,21 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
}
}
void getCalculatedAbsenceDuration() async {
try {
Utils.showLoading(context);
CalculateAbsenceDuration duration = await LeaveBalanceApiClient()
.calculateAbsenceDuration(selectedAbsenceType!.aBSENCEATTENDANCETYPEID!, Utils.getMonthNamedFormat(startDateTime!), Utils.getMonthNamedFormat(endDateTime!), -999);
print(duration.toJson());
totalDays = duration.pABSENCEDAYS;
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
@override
void dispose() {
super.dispose();
@ -108,13 +127,13 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
12.height,
DynamicTextFieldWidget(
LocaleKeys.startDateT.tr() + "*",
startTime == null ? "Select date" : startTime.toString(),
startDateTime == null ? "Select date" : startDateTime.toString().split(' ')[0],
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
var start = await _selectDate(context, startTime);
if (start != startTime) {
startTime = start;
var start = await _selectDate(context);
if (start != startDateTime) {
startDateTime = start;
setState(() {});
}
},
@ -122,22 +141,26 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
12.height,
DynamicTextFieldWidget(
LocaleKeys.endDateT.tr() + "*",
endTime == null ? "Select date" : endTime.toString(),
endDateTime == null ? "Select date" : endDateTime.toString().split(' ')[0],
suffixIconData: Icons.calendar_today,
isEnable: false,
isReadOnly: selectedAbsenceType == null || startDateTime == null,
onTap: () async {
var end = await _selectDate(context, endTime);
if (end != endTime) {
endTime = end;
if (selectedAbsenceType == null || startDateTime == null) return;
var end = await _selectDate(context);
if (end != endDateTime) {
endDateTime = end;
setState(() {});
getCalculatedAbsenceDuration();
}
},
),
12.height,
DynamicTextFieldWidget(
"Total Days",
"Days",
totalDays?.toString() ?? "Calculated days",
isInputTypeNum: true,
isEnable: false,
onChange: (input) {
totalDays = int.parse(input);
},
@ -171,306 +194,321 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
comment = input;
},
),
ListView.separated(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
padding: const EdgeInsets.only(top: 12),
itemBuilder: (cxt, int parentIndex) => parseDynamicFormatType(getabsenceDffStructureList[parentIndex], parentIndex),
separatorBuilder: (cxt, index) => 0.height,
itemCount: getabsenceDffStructureList.length,
)
],
).expanded,
DefaultButton(
LocaleKeys.next.tr(),
(selectedAbsenceType == null || startTime == null || endTime == null) ? null : () {},
(selectedAbsenceType == null || startDateTime == null || endDateTime == null) ? null : () {},
).insideContainer
],
),
);
}
// Widget parseDynamicFormatType(GetAbsenceDffStructureList model, int index) {
// if (model.dISPLAYFLAG != "N") {
// if (model.vALIDATIONTYPE == "N") {
// if (model.fORMATTYPE == "C") {
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
// isReadOnly: model.rEADONLY == "Y",
// onChange: (text) {
// model.eSERVICESDV ??= ESERVICESDV();
// model.eSERVICESDV!.pIDCOLUMNNAME = text;
// },
// ).paddingOnly(bottom: 12);
// } else if (model.fORMATTYPE == "N") {
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
// isReadOnly: model.rEADONLY == "Y",
// isInputTypeNum: true,
// onChange: (text) {
// model.eSERVICESDV ??= ESERVICESDV();
// model.eSERVICESDV!.pIDCOLUMNNAME = text;
// },
// ).paddingOnly(bottom: 12);
// } else if (model.fORMATTYPE == "X") {
// String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getabsenceDffStructureList![index].fieldAnswer ?? "");
//
// if (getabsenceDffStructureList[index].isDefaultTypeIsCDPS) {
// if (displayText.contains(" 00:00:00")) {
// displayText = displayText.replaceAll(" 00:00:00", "");
// }
// if (displayText.contains("/")) {
// displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
// }
// }
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// displayText,
// suffixIconData: Icons.calendar_today,
// isEnable: false,
// onTap: () async {
// if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// selectedDate = DateFormat("yyyy/MM/dd").parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
// } else {
// selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
// }
// }
// DateTime date = await _selectDate(context);
// String dateString = date.toString().split(' ').first;
// // DateTime date1 = DateTime(date.year, date.month, date.day);
// // getabsenceDffStructureList![index].fieldAnswer = date.toString();
// ESERVICESDV eservicesdv;
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: formatDate(dateString),
// pRETURNMSG: "null",
// pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
// pVALUECOLUMNNAME: getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
// } else {
// eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: dateString,
// pRETURNMSG: "null",
// pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
// pVALUECOLUMNNAME: getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
// }
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
// },
// ).paddingOnly(bottom: 12);
// } else if (model.fORMATTYPE == "Y") {
// String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getabsenceDffStructureList![index].fieldAnswer ?? "");
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// displayText = reverseFormatDate(displayText);
// // if (displayText.contains(" 00:00:00")) {
// // displayText = displayText.replaceAll(" 00:00:00", "");
// // }
// // if (!displayText.contains("-")) {
// // displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
// // }
// }
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// displayText,
// suffixIconData: Icons.calendar_today,
// isEnable: false,
// onTap: () async {
// if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// String tempDate = getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!;
// if (tempDate.contains("00:00:00")) {
// tempDate = tempDate.replaceAll("00:00:00", '').trim();
// }
// if (tempDate.contains("/")) {
// selectedDate = DateFormat("yyyy/MM/dd").parse(tempDate);
// } else {
// selectedDate = DateFormat("yyyy-MM-dd").parse(tempDate);
// }
// } else {
// selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
// }
// }
// DateTime date = await _selectDate(context);
// String dateString = date.toString().split(' ').first;
// // getabsenceDffStructureList![index].fieldAnswer = date.toString();
// ESERVICESDV eservicesdv;
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: formatDate(dateString),
// pRETURNMSG: "null",
// pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
// pVALUECOLUMNNAME: getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
// } else {
// eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: dateString,
// pRETURNMSG: "null",
// pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
// pVALUECOLUMNNAME: getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
// }
//
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
// },
// ).paddingOnly(bottom: 12);
// }
// } else {
// return PopupMenuButton(
// child: DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
// isEnable: false,
// isPopup: true,
// isInputTypeNum: true,
// isReadOnly: model.rEADONLY == "Y",
// ).paddingOnly(bottom: 12),
// itemBuilder: (_) => <PopupMenuItem<int>>[
// if (model.rEADONLY != "Y")
// for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
// ],
// onSelected: (int popipIndex) async {
// ESERVICESDV eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
// pRETURNMSG: "null",
// pRETURNSTATUS: "null", //getabsenceDffStructureList![popipIndex].dEFAULTVALUE,
// pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
// });
// }
// } else {
// return const SizedBox();
// }
// if (model.fORMATTYPE == "N") {
// if (model.eSERVICESVS?.isNotEmpty ?? false) {
// return PopupMenuButton(
// child: DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
// isEnable: false,
// isPopup: true,
// isInputTypeNum: true,
// isReadOnly: model.rEADONLY == "Y",
// ).paddingOnly(bottom: 12),
// itemBuilder: (_) => <PopupMenuItem<int>>[
// if (model.rEADONLY != "Y")
// for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(value: i, child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!)),
// ],
// onSelected: (int popipIndex) async {
// ESERVICESDV eservicesdv =
// ESERVICESDV(pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", pRETURNSTATUS: "null", pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
// });
// }
//
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
// isReadOnly: model.rEADONLY == "Y",
// onChange: (text) {
// model.fieldAnswer = text;
// },
// ).paddingOnly(bottom: 12);
// } else if (model.fORMATTYPE == "X" || model.fORMATTYPE == "Y") {
// String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getabsenceDffStructureList![index].fieldAnswer ?? "");
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// if (displayText.contains(" 00:00:00")) {
// displayText = displayText.replaceAll(" 00:00:00", "");
// }
// if (!displayText.contains("-")) {
// displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
// }
// }
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// displayText,
// suffixIconData: Icons.calendar_today,
// isEnable: false,
// onTap: () async {
// if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
// if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
// selectedDate = DateFormat("yyyy/MM/dd").parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
// } else {
// selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
// }
// }
// DateTime date = await _selectDate(context);
// String dateString = date.toString().split(' ').first;
// getabsenceDffStructureList![index].fieldAnswer = date.toString();
// ESERVICESDV eservicesdv = ESERVICESDV(
// pIDCOLUMNNAME: dateString,
// pRETURNMSG: "null",
// pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
// pVALUECOLUMNNAME: getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
// },
// ).paddingOnly(bottom: 12);
// } else if (model.fORMATTYPE == "I") {
// return DynamicTextFieldWidget(
// (model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
// model.eSERVICESDV?.pIDCOLUMNNAME ?? (getabsenceDffStructureList![index].fieldAnswer ?? ""),
// suffixIconData: Icons.access_time_filled_rounded,
// isEnable: false,
// onTap: () async {
// if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
// var timeString = getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.split(":");
// selectedDate = DateTime(0, 0, 0, int.parse(timeString[0]), int.parse(timeString[1]));
//
// //DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
// }
// TimeOfDay _time = await _selectTime(context);
// DateTime tempTime = DateTime(0, 1, 1, _time.hour, _time.minute);
// String time = DateFormat('HH:mm').format(tempTime).trim();
//
// // DateTime date1 = DateTime(date.year, date.month, date.day);
// // getabsenceDffStructureList![index].fieldAnswer = date.toString();
// ESERVICESDV eservicesdv = ESERVICESDV(pIDCOLUMNNAME: time, pRETURNMSG: "null", pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE, pVALUECOLUMNNAME: time);
// getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
// setState(() {});
// // if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// // await calGetValueSetValues(model);
// // }
// // if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// // await getDefaultValues(model);
// // }
// },
// ).paddingOnly(bottom: 12);
// }
//
// return Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// mainAxisSize: MainAxisSize.min,
// children: [],
// ).objectContainerView();
// }
Widget parseDynamicFormatType(GetAbsenceDffStructureList model, int index) {
if (model.dISPLAYFLAG != "N") {
if (model.vALIDATIONTYPE == "N") {
if (model.fORMATTYPE == "C") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
isReadOnly: model.rEADONLY == "Y",
onChange: (text) {
model.eSERVICESDV ??= ESERVICESDV();
model.eSERVICESDV!.pIDCOLUMNNAME = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "N") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
isReadOnly: model.rEADONLY == "Y",
isInputTypeNum: true,
onChange: (text) {
model.eSERVICESDV ??= ESERVICESDV();
model.eSERVICESDV!.pIDCOLUMNNAME = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "X") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? "";
if (getabsenceDffStructureList[index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (displayText.contains("/")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
displayText,
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
selectedDate = DateFormat("yyyy/MM/dd").parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
} else {
selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
String dateString = date.toString().split(' ').first;
// DateTime date1 = DateTime(date.year, date.month, date.day);
// getabsenceDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv;
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: Utils.formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME:
getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME:
getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? "";
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
displayText = Utils.reverseFormatDate(displayText);
// if (displayText.contains(" 00:00:00")) {
// displayText = displayText.replaceAll(" 00:00:00", "");
// }
// if (!displayText.contains("-")) {
// displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
// }
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
displayText,
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
String tempDate = getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!;
if (tempDate.contains("00:00:00")) {
tempDate = tempDate.replaceAll("00:00:00", '').trim();
}
if (tempDate.contains("/")) {
selectedDate = DateFormat("yyyy/MM/dd").parse(tempDate);
} else {
selectedDate = DateFormat("yyyy-MM-dd").parse(tempDate);
}
} else {
selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
String dateString = date.toString().split(' ').first;
// getabsenceDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv;
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: Utils.formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME:
getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME:
getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
},
).paddingOnly(bottom: 12);
}
} else {
return PopupMenuButton(
child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
isEnable: false,
isPopup: true,
isInputTypeNum: true,
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
],
onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
pRETURNMSG: "null",
pRETURNSTATUS: "null", //getabsenceDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
});
}
} else {
return const SizedBox();
}
if (model.fORMATTYPE == "N") {
if (model.eSERVICESVS?.isNotEmpty ?? false) {
return PopupMenuButton(
child: DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pVALUECOLUMNNAME ?? "",
isEnable: false,
isPopup: true,
isInputTypeNum: true,
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(value: i, child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!)),
],
onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv =
ESERVICESDV(pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", pRETURNSTATUS: "null", pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
});
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
isReadOnly: model.rEADONLY == "Y",
onChange: (text) {
//model.fieldAnswer = text;
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "X" || model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? "";
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (!displayText.contains("-")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
displayText,
suffixIconData: Icons.calendar_today,
isEnable: false,
onTap: () async {
if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
if (getabsenceDffStructureList![index].isDefaultTypeIsCDPS) {
selectedDate = DateFormat("yyyy/MM/dd").parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.replaceAll('/"', '').replaceAll(" 00:00:00", ""));
} else {
selectedDate = DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
String dateString = date.toString().split(' ').first;
// getabsenceDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME:
getabsenceDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "I") {
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
model.eSERVICESDV?.pIDCOLUMNNAME ?? "",
suffixIconData: Icons.access_time_filled_rounded,
isEnable: false,
onTap: () async {
if (getabsenceDffStructureList[index].mOBILEENABLED != "Y") return;
if ((getabsenceDffStructureList![index].eSERVICESDV?.pVALUECOLUMNNAME != null)) {
var timeString = getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!.split(":");
selectedDate = DateTime(0, 0, 0, int.parse(timeString[0]), int.parse(timeString[1]));
//DateTime.parse(getabsenceDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
TimeOfDay _time = await _selectTime(context);
DateTime tempTime = DateTime(0, 1, 1, _time.hour, _time.minute);
String time = DateFormat('HH:mm').format(tempTime).trim();
// DateTime date1 = DateTime(date.year, date.month, date.day);
// getabsenceDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(pIDCOLUMNNAME: time, pRETURNMSG: "null", pRETURNSTATUS: getabsenceDffStructureList![index].dEFAULTVALUE, pVALUECOLUMNNAME: time);
getabsenceDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
// if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
// await calGetValueSetValues(model);
// }
// if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
// await getDefaultValues(model);
// }
},
).paddingOnly(bottom: 12);
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [],
).objectContainerView();
}
Future<DateTime> _selectDate(BuildContext context, DateTime? dateInput) async {
DateTime time = dateInput ?? DateTime.now();
Future<DateTime> _selectDate(BuildContext context) async {
DateTime time = selectedDate;
if (Platform.isIOS) {
await showCupertinoModalPopup(
context: context,
@ -481,22 +519,62 @@ class _AddLeaveBalanceScreenState extends State<AddLeaveBalanceScreen> {
backgroundColor: Colors.white,
mode: CupertinoDatePickerMode.date,
onDateTimeChanged: (value) {
if (value != dateInput) {
if (value != null && value != selectedDate) {
time = value;
}
},
initialDateTime: dateInput,
initialDateTime: selectedDate,
),
),
);
} else {
DateTime? picked =
await showDatePicker(context: context, initialDate: dateInput ?? DateTime.now(), initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
if (picked != null && picked != dateInput) {
DateTime? picked = await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
if (picked != null && picked != selectedDate) {
time = picked;
}
}
time = DateTime(time.year, time.month, time.day);
return time;
}
Future<TimeOfDay> _selectTime(BuildContext context) async {
TimeOfDay time = TimeOfDay(hour: selectedDate.hour, minute: selectedDate.minute);
if (Platform.isIOS) {
await showCupertinoModalPopup(
context: context,
builder: (cxt) => Container(
height: 250,
color: Colors.white,
child: CupertinoDatePicker(
backgroundColor: Colors.white,
mode: CupertinoDatePickerMode.time,
use24hFormat: true,
onDateTimeChanged: (value) {
if (value != null && value != selectedDate) {
time = TimeOfDay(hour: value.hour, minute: value.minute);
}
},
initialDateTime: selectedDate,
),
),
);
} else {
TimeOfDay? picked = await showTimePicker(
context: context,
initialTime: time,
builder: (cxt, child) {
return MediaQuery(data: MediaQuery.of(context).copyWith(alwaysUse24HourFormat: true), child: child ?? Container());
});
if (picked != null && picked != time) {
time = picked;
}
// final DateTime? picked =
// await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
// if (picked != null && picked != selectedDate) {
// time = picked;
// }
}
return time;
}
}

@ -281,7 +281,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
// idColName = DateFormat('yyyy/MM/dd HH:mm:ss').format(DateTime(date.year, date.month, date.day));
// }
idColName = formatStandardDate(idColName!);
idColName = Utils.formatStandardDate(idColName!);
}
} else {
val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME;
@ -293,7 +293,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
idColName = val;
if (getEitDffStructureList![j].fORMATTYPE == "X") {
idColName = formatDateNew(idColName!);
idColName = Utils.formatDateNew(idColName!);
// commenting to test
// DateTime date = DateFormat('yyyy-MM-dd').parse(idColName!);
// idColName = DateFormat('yyyy-MM-dd HH:mm:ss').format(date);
@ -406,7 +406,8 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
padding: const EdgeInsets.all(21),
itemBuilder: (cxt, int parentIndex) => parseDynamicFormatType(getEitDffStructureList![parentIndex], parentIndex),
separatorBuilder: (cxt, index) => 0.height,
itemCount: getEitDffStructureList!.length)))
itemCount: getEitDffStructureList!.length,
)))
.expanded,
// 12.height,
DefaultButton(
@ -481,16 +482,18 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
ESERVICESDV eservicesdv;
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: formatDate(dateString),
pIDCOLUMNNAME: Utils.formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME:
getEitDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME:
getEitDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
@ -505,7 +508,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
} else if (model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
displayText = reverseFormatDate(displayText);
displayText = Utils.reverseFormatDate(displayText);
// if (displayText.contains(" 00:00:00")) {
// displayText = displayText.replaceAll(" 00:00:00", "");
// }
@ -540,16 +543,18 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
ESERVICESDV eservicesdv;
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: formatDate(dateString),
pIDCOLUMNNAME: Utils.formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME:
getEitDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME:
getEitDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
@ -663,7 +668,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? Utils.reverseFormatStandardDate(Utils.formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
@ -736,8 +741,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
),
);
} else {
DateTime? picked =
await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
DateTime? picked = await showDatePicker(context: context, initialDate: selectedDate, initialEntryMode: DatePickerEntryMode.calendarOnly, firstDate: DateTime(2015, 8), lastDate: DateTime(2101));
if (picked != null && picked != selectedDate) {
time = picked;
}
@ -786,59 +790,4 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
}
return time;
}
String reverseFormatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
formattedDate = formattedDate.replaceAll(' 00:00:00', '');
} else {
formattedDate = date;
}
return formattedDate;
}
String formatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('-', '/');
} else {
formattedDate = date;
}
return formattedDate;
}
String reverseFormatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
} else {
formattedDate = date;
}
return formattedDate;
}
String formatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
date = date.substring(0, 10);
formattedDate = date.replaceAll('-', '/');
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
String formatDateNew(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.split('T')[0];
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
}

Loading…
Cancel
Save