step 11 : proses clock in, clock out

This commit is contained in:
sindhu
2024-01-26 15:10:36 +07:00
parent 1af974881a
commit c551ee2cdb
16 changed files with 1590 additions and 712 deletions

View File

@@ -1,4 +1,5 @@
import 'package:absensi_sas_flutter/model/check_distance_model.dart';
import 'package:absensi_sas_flutter/model/check_presensi_jam_model.dart';
import 'base_repository.dart';
class PresensiRepository extends BaseRepository {
@@ -23,7 +24,7 @@ class PresensiRepository extends BaseRepository {
final resp = await postGraphQlMutation(query, inpVariables);
// final loginData = AuthModel.fromJson(resp['userLogin']);
print(inpVariables);
// print(inpVariables);
print('obj queryCheckDistance : ${resp["queryCheckDistance"]}');
@@ -33,12 +34,145 @@ class PresensiRepository extends BaseRepository {
// );
final result = CheckDistanceModel(
currentDistance: resp['queryCheckDistance']['current_distance'],
maxDistance: resp['queryCheckDistance']['max_distance'],
message: resp['queryCheckDistance']['message'],
selfie: resp['queryCheckDistance']['selfie'],
status: resp['queryCheckDistance']['status'],
unit: resp['queryCheckDistance']['unit']
currentDistance: resp['queryCheckDistance']['current_distance'],
maxDistance: resp['queryCheckDistance']['max_distance'],
message: resp['queryCheckDistance']['message'],
selfie: resp['queryCheckDistance']['selfie'],
status: resp['queryCheckDistance']['status'],
unit: resp['queryCheckDistance']['unit']);
return result;
}
// presensi normal Clock In
Future<String> presensiNormalClockIn(
String T_TransactionM_StaffID,
String T_TransactionM_CompanyID,
String T_TransactionCurrentLatitude,
String T_TransactionCurrentLongitude,
String T_TransactionCurrentDistance,
String T_TransactionSelfiePhoto,
String token,
String isSelfie,
Map<String, dynamic> paramInpVariables) async {
const String query =
r'''mutation($T_TransactionM_StaffID:String!, $T_TransactionM_CompanyID:String!, $T_TransactionCurrentLatitude:String!, $T_TransactionCurrentLongitude:String!, $T_TransactionCurrentDistance:String!, $T_TransactionSelfiePhoto:String, $token:String!, $isSelfie:String!){ mutationClockInAttendance(T_TransactionM_StaffID:$T_TransactionM_StaffID, T_TransactionM_CompanyID:$T_TransactionM_CompanyID, T_TransactionCurrentLatitude:$T_TransactionCurrentLatitude, T_TransactionCurrentLongitude:$T_TransactionCurrentLongitude, T_TransactionCurrentDistance:$T_TransactionCurrentDistance, T_TransactionSelfiePhoto:$T_TransactionSelfiePhoto, token:$token, isSelfie:$isSelfie){ status message } }''';
Map<String, dynamic> inpVariables = paramInpVariables;
print(paramInpVariables);
final resp = await postGraphQlMutation(query, inpVariables);
// print(inpVariables);
print(
'obj mutationClockInAttendance : ${resp["mutationClockInAttendance"]}');
// final result = AuthModel(
// token: resp["loginAttendance"]["token"],
// model: StaffModel.fromJson(resp["loginAttendance"]),
// );
final result = resp["mutationClockInAttendance"]['status'];
return result;
}
// presensi normal clock Out
Future<String> presensiNormalClockOut(
String T_TransactionM_StaffID,
String T_TransactionM_CompanyID,
String T_TransactionCurrentLatitude,
String T_TransactionCurrentLongitude,
String T_TransactionCurrentDistance,
String T_TransactionSelfiePhoto,
String token,
String isSelfie,
Map<String, dynamic> paramInpVariables) async {
const String query =
r'''mutation(
$T_TransactionM_StaffID:String!,
$T_TransactionM_CompanyID:String!,
$T_TransactionCurrentLatitude:String!,
$T_TransactionCurrentLongitude:String!,
$T_TransactionCurrentDistance:String!,
$T_TransactionSelfiePhoto:String,
$token:String!,
$isSelfie:String!
){
mutationClockOutAttendance(
T_TransactionM_StaffID:$T_TransactionM_StaffID,
T_TransactionM_CompanyID:$T_TransactionM_CompanyID,
T_TransactionCurrentLatitude:$T_TransactionCurrentLatitude,
T_TransactionCurrentLongitude:$T_TransactionCurrentLongitude,
T_TransactionCurrentDistance:$T_TransactionCurrentDistance,
T_TransactionSelfiePhoto:$T_TransactionSelfiePhoto,
token:$token, isSelfie:$isSelfie
){
status
message
}
}''';
Map<String, dynamic> inpVariables = paramInpVariables;
print(paramInpVariables);
final resp = await postGraphQlMutation(query, inpVariables);
// print(inpVariables);
print(
'obj mutationClockOutAttendance : ${resp["mutationClockOutAttendance"]}');
// final result = AuthModel(
// token: resp["loginAttendance"]["token"],
// model: StaffModel.fromJson(resp["loginAttendance"]),
// );
final result = resp["mutationClockOutAttendance"]['status'];
return result;
}
// check presensi jam
Future<CheckPresensiJamModel> checkPresensiJam(
String M_StaffID,
String M_CompanyID,
String token,
Map<String, dynamic> paramInpVariables,
) async {
const String query =
r'''query($M_StaffID:String!, $M_CompanyID:String!, $token:String!){
queryCheckTimeAttendance(M_StaffID:$M_StaffID, M_CompanyID:$M_CompanyID, token:$token){
status
message
jam_clock_in
jam_clock_out
is_absen_clock_in
is_absen_clock_out
}
}''';
// Map<String, dynamic> inpVariables = paramInpVariables;
// Map<String, dynamic> inpVariables = {
// "M_StaffID": M_StaffID,
// "M_CompanyID": M_CompanyID,
// "token": token,
// };
print(paramInpVariables);
final resp = await postGraphQlQuery(query, paramInpVariables);
// print(inpVariables);
print('obj queryCheckTimeAttendance : ${resp["queryCheckTimeAttendance"]}');
final result = CheckPresensiJamModel(
isAbsenClockIn: resp['queryCheckTimeAttendance']['is_absen_clock_in'],
isAbsenClockOut: resp['queryCheckTimeAttendance']['is_absen_clock_out'],
jamClockIn: resp['queryCheckTimeAttendance']['jam_clock_in'],
jamClockOut: resp['queryCheckTimeAttendance']['jam_clock_out'],
message: resp['queryCheckTimeAttendance']['message'],
status: resp['queryCheckTimeAttendance']['status'],
);
return result;
}