phx-node 1.0.85 → 1.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/types/student-info.d.ts +19 -0
- package/dist/module/hrm-checkin/get-actual-working-hours.service.js +24 -30
- package/dist/module/hrm-checkin/get-actual-working-hours.service.js.map +1 -1
- package/dist/query/student-info/query.d.ts +1 -1
- package/dist/query/student-info/query.js +23 -2
- package/dist/query/student-info/query.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -5,19 +5,25 @@ export declare enum STUDENT_STATUS {
|
|
|
5
5
|
}
|
|
6
6
|
export type TStudentInfo = {
|
|
7
7
|
school_id: number;
|
|
8
|
+
full_name: string;
|
|
9
|
+
first_name: string;
|
|
10
|
+
last_name: string;
|
|
8
11
|
classroom_students: ClassroomStudent[];
|
|
9
12
|
profile_student: ProfileStudent;
|
|
13
|
+
relationshipUsersByStudentId: RelationshipUsersByStudentId[];
|
|
10
14
|
};
|
|
11
15
|
export type ClassroomStudent = {
|
|
12
16
|
classroom: Classroom;
|
|
13
17
|
};
|
|
14
18
|
export type Classroom = {
|
|
15
19
|
classroom_id: number;
|
|
20
|
+
name: string;
|
|
16
21
|
grade: Grade;
|
|
17
22
|
program_id: number;
|
|
18
23
|
};
|
|
19
24
|
export type Grade = {
|
|
20
25
|
grade_id: number;
|
|
26
|
+
name: string;
|
|
21
27
|
educational_level_id: number;
|
|
22
28
|
};
|
|
23
29
|
export type Program = {
|
|
@@ -39,3 +45,16 @@ export type ProfileStudent = {
|
|
|
39
45
|
program_educational_id: number;
|
|
40
46
|
program_map_educational_level: ProgramMapEducationalLevel;
|
|
41
47
|
};
|
|
48
|
+
export interface RelationshipUsersByStudentId {
|
|
49
|
+
user: UserParent;
|
|
50
|
+
}
|
|
51
|
+
export interface UserParent {
|
|
52
|
+
id: number;
|
|
53
|
+
full_name: string;
|
|
54
|
+
first_name: string;
|
|
55
|
+
last_name: string;
|
|
56
|
+
phone_number: string;
|
|
57
|
+
email: string;
|
|
58
|
+
is_use_email_secondary: boolean;
|
|
59
|
+
email_secondary: string;
|
|
60
|
+
}
|
|
@@ -28,7 +28,7 @@ let GetActualWorkingHoursService = class GetActualWorkingHoursService {
|
|
|
28
28
|
}
|
|
29
29
|
getDurationTime(timeCheckin, timeCheckout, lunchBreakStart, lunchBreakEnd) {
|
|
30
30
|
if (!timeCheckin || !timeCheckout)
|
|
31
|
-
return
|
|
31
|
+
return 0;
|
|
32
32
|
const start = new Date(timeCheckin);
|
|
33
33
|
const end = new Date(timeCheckout);
|
|
34
34
|
let totalMinutes = Math.floor((end.getTime() - start.getTime()) / (1000 * 60));
|
|
@@ -71,10 +71,9 @@ let GetActualWorkingHoursService = class GetActualWorkingHoursService {
|
|
|
71
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
72
|
var _a, _b;
|
|
73
73
|
const { user_id, hostname, working_day } = payload;
|
|
74
|
-
let totalHours = "";
|
|
75
74
|
const isHasFullData = Boolean(user_id && hostname && working_day);
|
|
76
75
|
if (!isHasFullData)
|
|
77
|
-
return
|
|
76
|
+
return 0;
|
|
78
77
|
const res = yield this.grpcClientSystemService.query({
|
|
79
78
|
query: query_1.queryProfileStaff,
|
|
80
79
|
variables: {
|
|
@@ -84,42 +83,37 @@ let GetActualWorkingHoursService = class GetActualWorkingHoursService {
|
|
|
84
83
|
hostname,
|
|
85
84
|
});
|
|
86
85
|
const isHasStaffData = res && ((_a = res.users) === null || _a === void 0 ? void 0 : _a.length) > 0;
|
|
87
|
-
if (isHasStaffData)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
: 0;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return totalHours;
|
|
86
|
+
if (!isHasStaffData)
|
|
87
|
+
return 0;
|
|
88
|
+
const profileStaff = res.users[0];
|
|
89
|
+
const { school, attendance_raws = [], department_users = [], } = profileStaff;
|
|
90
|
+
const dataCheckInOut = this.getTimeCheckInOut(attendance_raws);
|
|
91
|
+
if (!dataCheckInOut)
|
|
92
|
+
return 0;
|
|
93
|
+
const staffDepartmentData = department_users || [];
|
|
94
|
+
const staffDepartmentId = ((_b = staffDepartmentData[0]) === null || _b === void 0 ? void 0 : _b.department_id) || 0;
|
|
95
|
+
const listAttendanceConfigs = (school === null || school === void 0 ? void 0 : school.hrm_checkin_shift_configs) || [];
|
|
96
|
+
const dataAttendanceConfig = listAttendanceConfigs.find((configData) => configData.department_id === staffDepartmentId ||
|
|
97
|
+
configData.department_id === null) || {};
|
|
98
|
+
const { break_start, break_end, allow_break_time } = dataAttendanceConfig;
|
|
99
|
+
const isHasBreakTime = Boolean(allow_break_time && break_start && break_end);
|
|
100
|
+
return isHasBreakTime
|
|
101
|
+
? this.getDurationTime(dataCheckInOut.checkIn, dataCheckInOut.checkOut, break_start, break_end)
|
|
102
|
+
: this.getDurationTime(dataCheckInOut.checkIn, dataCheckInOut.checkOut);
|
|
108
103
|
});
|
|
109
104
|
}
|
|
110
105
|
get(payload) {
|
|
111
106
|
return __awaiter(this, void 0, void 0, function* () {
|
|
112
107
|
try {
|
|
113
|
-
|
|
108
|
+
const res = yield this.getTotalActualWorkingHours(payload);
|
|
109
|
+
if (res) {
|
|
110
|
+
return res;
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
114
113
|
totalMinutes: 0,
|
|
115
114
|
totalHours: 0,
|
|
116
115
|
view: "",
|
|
117
116
|
};
|
|
118
|
-
const res = yield this.getTotalActualWorkingHours(payload);
|
|
119
|
-
if (res) {
|
|
120
|
-
dataTimeWorking = res;
|
|
121
|
-
}
|
|
122
|
-
return dataTimeWorking;
|
|
123
117
|
}
|
|
124
118
|
catch (error) {
|
|
125
119
|
console.log(`Không tìm được giờ làm thực tế: ${new Date()}-${error}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-actual-working-hours.service.js","sourceRoot":"","sources":["../../../src/module/hrm-checkin/get-actual-working-hours.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,0FAAuF;AAEvF,yDAAgE;AAGzD,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B;IACvC,YACmB,uBAAmD;QAAnD,4BAAuB,GAAvB,uBAAuB,CAA4B;IACnE,CAAC;IAGI,eAAe,CACrB,WAAmB,EACnB,YAAoB,EACpB,eAAwB,EACxB,aAAsB;QAEtB,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;YAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"get-actual-working-hours.service.js","sourceRoot":"","sources":["../../../src/module/hrm-checkin/get-actual-working-hours.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const GET_STUDENT_INFO_QUERY: string;
|
|
2
|
-
export declare const GET_STUDENT_INFO_QUERY_V3
|
|
2
|
+
export declare const GET_STUDENT_INFO_QUERY_V3: string;
|
|
@@ -57,7 +57,7 @@ exports.GET_STUDENT_INFO_QUERY = (0, graphql_request_1.gql) `
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
`;
|
|
60
|
-
exports.GET_STUDENT_INFO_QUERY_V3 = `
|
|
60
|
+
exports.GET_STUDENT_INFO_QUERY_V3 = (0, graphql_request_1.gql) `
|
|
61
61
|
query GetStudentInfo($student_id: Int!, $studentStatus: [Int!]!) {
|
|
62
62
|
users(
|
|
63
63
|
where: {
|
|
@@ -67,12 +67,15 @@ exports.GET_STUDENT_INFO_QUERY_V3 = `
|
|
|
67
67
|
profile_student: { student_status: { _in: $studentStatus } }
|
|
68
68
|
user_roles: {
|
|
69
69
|
deleted_at: { _is_null: true }
|
|
70
|
-
role: { role_code: { _eq: ${constant_1.ROLE_STUDENT_CODE} } }
|
|
70
|
+
role: { role_code: { _eq: "${constant_1.ROLE_STUDENT_CODE}" } }
|
|
71
71
|
is_active: { _eq: true }
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
) {
|
|
75
75
|
school_id
|
|
76
|
+
full_name
|
|
77
|
+
first_name
|
|
78
|
+
last_name
|
|
76
79
|
classroom_students(
|
|
77
80
|
where: {
|
|
78
81
|
deleted_at: { _is_null: true }
|
|
@@ -84,9 +87,11 @@ exports.GET_STUDENT_INFO_QUERY_V3 = `
|
|
|
84
87
|
) {
|
|
85
88
|
classroom {
|
|
86
89
|
classroom_id: id
|
|
90
|
+
name
|
|
87
91
|
school_year_id
|
|
88
92
|
grade {
|
|
89
93
|
grade_id: id
|
|
94
|
+
name
|
|
90
95
|
educational_level_id
|
|
91
96
|
}
|
|
92
97
|
program_id
|
|
@@ -97,6 +102,10 @@ exports.GET_STUDENT_INFO_QUERY_V3 = `
|
|
|
97
102
|
is_first_child
|
|
98
103
|
student_status
|
|
99
104
|
program_educational_id
|
|
105
|
+
grade {
|
|
106
|
+
id
|
|
107
|
+
name
|
|
108
|
+
}
|
|
100
109
|
program_map_educational_level {
|
|
101
110
|
program_id
|
|
102
111
|
program {
|
|
@@ -108,6 +117,18 @@ exports.GET_STUDENT_INFO_QUERY_V3 = `
|
|
|
108
117
|
}
|
|
109
118
|
}
|
|
110
119
|
}
|
|
120
|
+
relationshipUsersByStudentId(where: { deleted_at: { _is_null: true } }) {
|
|
121
|
+
user {
|
|
122
|
+
id
|
|
123
|
+
full_name
|
|
124
|
+
first_name
|
|
125
|
+
last_name
|
|
126
|
+
phone_number
|
|
127
|
+
email
|
|
128
|
+
is_use_email_secondary
|
|
129
|
+
email_secondary
|
|
130
|
+
}
|
|
131
|
+
}
|
|
111
132
|
}
|
|
112
133
|
}
|
|
113
134
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/query/student-info/query.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AACtC,iDAAqD;AAExC,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;sCAUH,4BAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CtD,CAAC;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/query/student-info/query.ts"],"names":[],"mappings":";;;AAAA,qDAAsC;AACtC,iDAAqD;AAExC,QAAA,sBAAsB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;sCAUH,4BAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CtD,CAAC;AAEW,QAAA,yBAAyB,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;uCAUL,4BAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEvD,CAAC"}
|