phx-react 1.3.1065 → 1.3.1066

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.
@@ -1,4 +1,7 @@
1
- export default function PHXAllowExplanation({ request_code, work_date, }: {
1
+ export default function PHXAllowExplanation({ request_code, work_date, start_at, end_at, attendance_code_id, }: {
2
2
  work_date: string;
3
3
  request_code: string;
4
+ start_at?: string;
5
+ end_at?: string;
6
+ attendance_code_id?: number;
4
7
  }): Promise<boolean>;
@@ -5,15 +5,48 @@ var explannation_1 = require("../../../query/explannation");
5
5
  var constants_1 = require("../../../utils/constants");
6
6
  var clientQueryV3_1 = tslib_1.__importDefault(require("../clientQueryV3"));
7
7
  var getLoginInfo_1 = tslib_1.__importDefault(require("../getLoginInfo"));
8
+ // Tính số giờ làm việc thực tế
9
+ function getDurationTime(timeCheckin, // "07:30:00"
10
+ timeCheckout, // "17:30:00"
11
+ lunchBreakStart, // "12:00:00"
12
+ lunchBreakEnd) {
13
+ if (!timeCheckin || !timeCheckout)
14
+ return 0;
15
+ var baseDate = new Date(); // mốc ngày bất kỳ (hôm nay)
16
+ baseDate.setHours(0, 0, 0, 0);
17
+ var parseTimeToDate = function (timeStr) {
18
+ var _a = timeStr.split(':').map(Number), h = _a[0], m = _a[1], s = _a[2];
19
+ var d = new Date(baseDate);
20
+ d.setHours(h, m, s || 0, 0);
21
+ return d;
22
+ };
23
+ var start = parseTimeToDate(timeCheckin);
24
+ var end = parseTimeToDate(timeCheckout);
25
+ var totalMinutes = Math.floor((end.getTime() - start.getTime()) / (1000 * 60));
26
+ if (lunchBreakStart && lunchBreakEnd) {
27
+ var breakStart = parseTimeToDate(lunchBreakStart);
28
+ var breakEnd = parseTimeToDate(lunchBreakEnd);
29
+ // Tính phần giao giữa thời gian làm việc và nghỉ trưa
30
+ var overlapStart = new Date(Math.max(start.getTime(), breakStart.getTime()));
31
+ var overlapEnd = new Date(Math.min(end.getTime(), breakEnd.getTime()));
32
+ var breakDurationMinutes = Math.max(0, (overlapEnd.getTime() - overlapStart.getTime()) / (1000 * 60));
33
+ totalMinutes -= breakDurationMinutes;
34
+ }
35
+ // Làm tròn số phút
36
+ var totalMinuteCeils = Math.ceil(totalMinutes);
37
+ var totalHours = totalMinuteCeils / 60;
38
+ return totalHours;
39
+ }
8
40
  function PHXAllowExplanation(_a) {
9
- var _b, _c, _d, _e, _f, _g;
10
- var request_code = _a.request_code, work_date = _a.work_date;
41
+ var _b, _c, _d, _e, _f, _g, _h, _j;
42
+ var request_code = _a.request_code, work_date = _a.work_date, start_at = _a.start_at, end_at = _a.end_at, attendance_code_id = _a.attendance_code_id;
11
43
  return tslib_1.__awaiter(this, void 0, void 0, function () {
12
- var userInfo, userLoginId, school_id, _h, data, isHasData, _j, hrm_checkin_explanation_config, _k, hrm_checkin_hrm_checkin_shift_config, _l, users, staffDepartmentData, staffDepartmentId_1, limitTimeCreate, dataShiftConfig, _m, applicable_days, parseDate, getDayName, workDate, today, currentDate, workingDaysPassed, d, error_1;
13
- return tslib_1.__generator(this, function (_o) {
14
- switch (_o.label) {
44
+ var isCheckValidateTimeInput, userInfo, userLoginId, school_id, _k, data, isHasData, _l, hrm_checkin_explanation_config, _m, hrm_checkin_hrm_checkin_shift_config, _o, users, staffDepartmentData, staffDepartmentId_1, limitTimeCreate, dataShiftConfig, _p, codeData, workTimeExplanation, break_start, break_end, allow_break_time, isHasBreakTime, totalWorkingReal, _q, applicable_days, parseDate, getDayName, workDate, today, currentDate, workingDaysPassed, d, error_1;
45
+ return tslib_1.__generator(this, function (_r) {
46
+ switch (_r.label) {
15
47
  case 0:
16
- _o.trys.push([0, 2, , 3]);
48
+ _r.trys.push([0, 5, , 6]);
49
+ isCheckValidateTimeInput = Boolean(attendance_code_id && start_at && end_at);
17
50
  userInfo = (0, getLoginInfo_1["default"])();
18
51
  userLoginId = userInfo === null || userInfo === void 0 ? void 0 : userInfo.id;
19
52
  school_id = userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id;
@@ -22,24 +55,42 @@ function PHXAllowExplanation(_a) {
22
55
  variables: { school_id: school_id, user_id: userLoginId }
23
56
  })];
24
57
  case 1:
25
- _h = (_o.sent()).data, data = _h === void 0 ? {} : _h;
58
+ _k = (_r.sent()).data, data = _k === void 0 ? {} : _k;
26
59
  isHasData = ((_b = data.hrm_checkin_hrm_checkin_shift_config) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
27
60
  ((_c = data.hrm_checkin_explanation_config) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
28
61
  ((_d = data.users) === null || _d === void 0 ? void 0 : _d.length) > 0;
29
62
  // Không có data sẽ trả về false luôn
30
63
  if (!isHasData)
31
64
  return [2 /*return*/, false];
32
- _j = data.hrm_checkin_explanation_config, hrm_checkin_explanation_config = _j === void 0 ? [] : _j, _k = data.hrm_checkin_hrm_checkin_shift_config, hrm_checkin_hrm_checkin_shift_config = _k === void 0 ? [] : _k, _l = data.users, users = _l === void 0 ? [] : _l;
65
+ _l = data.hrm_checkin_explanation_config, hrm_checkin_explanation_config = _l === void 0 ? [] : _l, _m = data.hrm_checkin_hrm_checkin_shift_config, hrm_checkin_hrm_checkin_shift_config = _m === void 0 ? [] : _m, _o = data.users, users = _o === void 0 ? [] : _o;
33
66
  staffDepartmentData = ((_e = users[0]) === null || _e === void 0 ? void 0 : _e.department_users) || [];
34
67
  staffDepartmentId_1 = ((_f = staffDepartmentData[0]) === null || _f === void 0 ? void 0 : _f.department_id) || 0;
35
68
  limitTimeCreate = (_g = hrm_checkin_explanation_config.find(function (item) { var _a; return ((_a = item.approval_type) === null || _a === void 0 ? void 0 : _a.code) === request_code || item.request_type_id === null; })) === null || _g === void 0 ? void 0 : _g.limit_time_create;
36
- // nếu không giới hạn thời gian tạo đơn return true luôn
37
- if (!limitTimeCreate)
69
+ dataShiftConfig = hrm_checkin_hrm_checkin_shift_config.find(function (configData) { return configData.department_id === staffDepartmentId_1 || configData.department_id === null; }) || {};
70
+ if (!isCheckValidateTimeInput) return [3 /*break*/, 3];
71
+ return [4 /*yield*/, (0, clientQueryV3_1["default"])({
72
+ query: explannation_1.queryAttendanceCode,
73
+ variables: { id: attendance_code_id }
74
+ })];
75
+ case 2:
76
+ _p = (_r.sent()).data, codeData = _p === void 0 ? {} : _p;
77
+ workTimeExplanation = Number(((_j = (_h = codeData.hrm_checkin_attendance_code) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.work_time) || 0);
78
+ // Nếu ngày giải trình k có workTime auto return true
79
+ if (!workTimeExplanation)
38
80
  return [2 /*return*/, true
39
- // Tìm xem checkin config của phòng ban đó xem đi làm những ngày nào
81
+ // Lấy số giờ nhập trừ đi nghỉ trưa nếu
40
82
  ];
41
- dataShiftConfig = hrm_checkin_hrm_checkin_shift_config.find(function (configData) { return configData.department_id === staffDepartmentId_1 || configData.department_id === null; }) || {};
42
- _m = dataShiftConfig.applicable_days, applicable_days = _m === void 0 ? [] : _m;
83
+ break_start = dataShiftConfig.break_start, break_end = dataShiftConfig.break_end, allow_break_time = dataShiftConfig.allow_break_time;
84
+ isHasBreakTime = Boolean(allow_break_time && break_start && break_end);
85
+ totalWorkingReal = isHasBreakTime
86
+ ? getDurationTime(start_at, end_at, break_start, break_end)
87
+ : getDurationTime(start_at, end_at);
88
+ return [2 /*return*/, totalWorkingReal >= workTimeExplanation];
89
+ case 3:
90
+ // nếu không giới hạn thời gian tạo đơn return true luôn
91
+ if (!limitTimeCreate)
92
+ return [2 /*return*/, true];
93
+ _q = dataShiftConfig.applicable_days, applicable_days = _q === void 0 ? [] : _q;
43
94
  parseDate = function (dateStr) {
44
95
  var _a = dateStr.split('-').map(Number), y = _a[0], m = _a[1], d = _a[2];
45
96
  return new Date(y, m - 1, d);
@@ -62,11 +113,12 @@ function PHXAllowExplanation(_a) {
62
113
  }
63
114
  // chỉ hợp lệ nếu số ngày làm việc đã qua <= limit_time_create
64
115
  return [2 /*return*/, workingDaysPassed <= Number(limitTimeCreate)];
65
- case 2:
66
- error_1 = _o.sent();
116
+ case 4: return [3 /*break*/, 6];
117
+ case 5:
118
+ error_1 = _r.sent();
67
119
  console.log(error_1, 'error');
68
120
  return [2 /*return*/, false];
69
- case 3: return [2 /*return*/];
121
+ case 6: return [2 /*return*/];
70
122
  }
71
123
  });
72
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"checkAllowExplanation.js","sourceRoot":"","sources":["../../../../../src/components/Func/Explanation/checkAllowExplanation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkAllowExplanation.js","sourceRoot":"","sources":["../../../../../src/components/Func/Explanation/checkAllowExplanation.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare const queryShiftAndExplanationConfig = "\nquery getShiftAndExplanationConfig($school_id: Int!, $user_id: Int!) {\n users(where: {id: {_eq: $user_id}}) {\n department_users(where: {deleted_at: {_is_null: true}}) {\n department_id\n department {\n name\n }\n }\n }\n hrm_checkin_hrm_checkin_shift_config(where: {deleted_at: {_is_null: true}, school_id: {_eq: $school_id}}) {\n id\n applicable_days\n department_id\n working_hours_per_day\n break_start\n break_end\n allow_break_time\n }\n hrm_checkin_explanation_config(where: {deleted_at: {_is_null: true}}) {\n limit_time_create\n id\n request_type_id\n approval_type {\n id\n code\n }\n }\n}";
2
+ export declare const queryAttendanceCode = "\nquery getAttendanceCode($id: Int!) {\n hrm_checkin_attendance_code(where: {id: {_eq: $id}}) {\n id\n work_time\n }\n}";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  exports.__esModule = true;
3
- exports.queryShiftAndExplanationConfig = void 0;
3
+ exports.queryAttendanceCode = exports.queryShiftAndExplanationConfig = void 0;
4
4
  exports.queryShiftAndExplanationConfig = "\nquery getShiftAndExplanationConfig($school_id: Int!, $user_id: Int!) {\n users(where: {id: {_eq: $user_id}}) {\n department_users(where: {deleted_at: {_is_null: true}}) {\n department_id\n department {\n name\n }\n }\n }\n hrm_checkin_hrm_checkin_shift_config(where: {deleted_at: {_is_null: true}, school_id: {_eq: $school_id}}) {\n id\n applicable_days\n department_id\n working_hours_per_day\n break_start\n break_end\n allow_break_time\n }\n hrm_checkin_explanation_config(where: {deleted_at: {_is_null: true}}) {\n limit_time_create\n id\n request_type_id\n approval_type {\n id\n code\n }\n }\n}";
5
+ exports.queryAttendanceCode = "\nquery getAttendanceCode($id: Int!) {\n hrm_checkin_attendance_code(where: {id: {_eq: $id}}) {\n id\n work_time\n }\n}";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query/explannation/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,guBA4B5C,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query/explannation/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,guBA4B5C,CAAA;AAEW,QAAA,mBAAmB,GAAG,uIAMjC,CAAA"}
@@ -1,4 +1,7 @@
1
- export default function PHXAllowExplanation({ request_code, work_date, }: {
1
+ export default function PHXAllowExplanation({ request_code, work_date, start_at, end_at, attendance_code_id, }: {
2
2
  work_date: string;
3
3
  request_code: string;
4
+ start_at?: string;
5
+ end_at?: string;
6
+ attendance_code_id?: number;
4
7
  }): Promise<boolean>;
@@ -1,17 +1,50 @@
1
1
  import { __awaiter, __generator } from "tslib";
2
- import { queryShiftAndExplanationConfig } from '../../../query/explannation';
2
+ import { queryAttendanceCode, queryShiftAndExplanationConfig } from '../../../query/explannation';
3
3
  import { LIST_DAY_OF_WEEK } from '../../../utils/constants';
4
4
  import PHXClientQueryV3 from '../clientQueryV3';
5
5
  import PHXFuncGetLoggedInfo from '../getLoginInfo';
6
+ // Tính số giờ làm việc thực tế
7
+ function getDurationTime(timeCheckin, // "07:30:00"
8
+ timeCheckout, // "17:30:00"
9
+ lunchBreakStart, // "12:00:00"
10
+ lunchBreakEnd) {
11
+ if (!timeCheckin || !timeCheckout)
12
+ return 0;
13
+ var baseDate = new Date(); // mốc ngày bất kỳ (hôm nay)
14
+ baseDate.setHours(0, 0, 0, 0);
15
+ var parseTimeToDate = function (timeStr) {
16
+ var _a = timeStr.split(':').map(Number), h = _a[0], m = _a[1], s = _a[2];
17
+ var d = new Date(baseDate);
18
+ d.setHours(h, m, s || 0, 0);
19
+ return d;
20
+ };
21
+ var start = parseTimeToDate(timeCheckin);
22
+ var end = parseTimeToDate(timeCheckout);
23
+ var totalMinutes = Math.floor((end.getTime() - start.getTime()) / (1000 * 60));
24
+ if (lunchBreakStart && lunchBreakEnd) {
25
+ var breakStart = parseTimeToDate(lunchBreakStart);
26
+ var breakEnd = parseTimeToDate(lunchBreakEnd);
27
+ // Tính phần giao giữa thời gian làm việc và nghỉ trưa
28
+ var overlapStart = new Date(Math.max(start.getTime(), breakStart.getTime()));
29
+ var overlapEnd = new Date(Math.min(end.getTime(), breakEnd.getTime()));
30
+ var breakDurationMinutes = Math.max(0, (overlapEnd.getTime() - overlapStart.getTime()) / (1000 * 60));
31
+ totalMinutes -= breakDurationMinutes;
32
+ }
33
+ // Làm tròn số phút
34
+ var totalMinuteCeils = Math.ceil(totalMinutes);
35
+ var totalHours = totalMinuteCeils / 60;
36
+ return totalHours;
37
+ }
6
38
  export default function PHXAllowExplanation(_a) {
7
- var _b, _c, _d, _e, _f, _g;
8
- var request_code = _a.request_code, work_date = _a.work_date;
39
+ var _b, _c, _d, _e, _f, _g, _h, _j;
40
+ var request_code = _a.request_code, work_date = _a.work_date, start_at = _a.start_at, end_at = _a.end_at, attendance_code_id = _a.attendance_code_id;
9
41
  return __awaiter(this, void 0, void 0, function () {
10
- var userInfo, userLoginId, school_id, _h, data, isHasData, _j, hrm_checkin_explanation_config, _k, hrm_checkin_hrm_checkin_shift_config, _l, users, staffDepartmentData, staffDepartmentId_1, limitTimeCreate, dataShiftConfig, _m, applicable_days, parseDate, getDayName, workDate, today, currentDate, workingDaysPassed, d, error_1;
11
- return __generator(this, function (_o) {
12
- switch (_o.label) {
42
+ var isCheckValidateTimeInput, userInfo, userLoginId, school_id, _k, data, isHasData, _l, hrm_checkin_explanation_config, _m, hrm_checkin_hrm_checkin_shift_config, _o, users, staffDepartmentData, staffDepartmentId_1, limitTimeCreate, dataShiftConfig, _p, codeData, workTimeExplanation, break_start, break_end, allow_break_time, isHasBreakTime, totalWorkingReal, _q, applicable_days, parseDate, getDayName, workDate, today, currentDate, workingDaysPassed, d, error_1;
43
+ return __generator(this, function (_r) {
44
+ switch (_r.label) {
13
45
  case 0:
14
- _o.trys.push([0, 2, , 3]);
46
+ _r.trys.push([0, 5, , 6]);
47
+ isCheckValidateTimeInput = Boolean(attendance_code_id && start_at && end_at);
15
48
  userInfo = PHXFuncGetLoggedInfo();
16
49
  userLoginId = userInfo === null || userInfo === void 0 ? void 0 : userInfo.id;
17
50
  school_id = userInfo === null || userInfo === void 0 ? void 0 : userInfo.school_id;
@@ -20,24 +53,42 @@ export default function PHXAllowExplanation(_a) {
20
53
  variables: { school_id: school_id, user_id: userLoginId }
21
54
  })];
22
55
  case 1:
23
- _h = (_o.sent()).data, data = _h === void 0 ? {} : _h;
56
+ _k = (_r.sent()).data, data = _k === void 0 ? {} : _k;
24
57
  isHasData = ((_b = data.hrm_checkin_hrm_checkin_shift_config) === null || _b === void 0 ? void 0 : _b.length) > 0 &&
25
58
  ((_c = data.hrm_checkin_explanation_config) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
26
59
  ((_d = data.users) === null || _d === void 0 ? void 0 : _d.length) > 0;
27
60
  // Không có data sẽ trả về false luôn
28
61
  if (!isHasData)
29
62
  return [2 /*return*/, false];
30
- _j = data.hrm_checkin_explanation_config, hrm_checkin_explanation_config = _j === void 0 ? [] : _j, _k = data.hrm_checkin_hrm_checkin_shift_config, hrm_checkin_hrm_checkin_shift_config = _k === void 0 ? [] : _k, _l = data.users, users = _l === void 0 ? [] : _l;
63
+ _l = data.hrm_checkin_explanation_config, hrm_checkin_explanation_config = _l === void 0 ? [] : _l, _m = data.hrm_checkin_hrm_checkin_shift_config, hrm_checkin_hrm_checkin_shift_config = _m === void 0 ? [] : _m, _o = data.users, users = _o === void 0 ? [] : _o;
31
64
  staffDepartmentData = ((_e = users[0]) === null || _e === void 0 ? void 0 : _e.department_users) || [];
32
65
  staffDepartmentId_1 = ((_f = staffDepartmentData[0]) === null || _f === void 0 ? void 0 : _f.department_id) || 0;
33
66
  limitTimeCreate = (_g = hrm_checkin_explanation_config.find(function (item) { var _a; return ((_a = item.approval_type) === null || _a === void 0 ? void 0 : _a.code) === request_code || item.request_type_id === null; })) === null || _g === void 0 ? void 0 : _g.limit_time_create;
34
- // nếu không giới hạn thời gian tạo đơn return true luôn
35
- if (!limitTimeCreate)
67
+ dataShiftConfig = hrm_checkin_hrm_checkin_shift_config.find(function (configData) { return configData.department_id === staffDepartmentId_1 || configData.department_id === null; }) || {};
68
+ if (!isCheckValidateTimeInput) return [3 /*break*/, 3];
69
+ return [4 /*yield*/, PHXClientQueryV3({
70
+ query: queryAttendanceCode,
71
+ variables: { id: attendance_code_id }
72
+ })];
73
+ case 2:
74
+ _p = (_r.sent()).data, codeData = _p === void 0 ? {} : _p;
75
+ workTimeExplanation = Number(((_j = (_h = codeData.hrm_checkin_attendance_code) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.work_time) || 0);
76
+ // Nếu ngày giải trình k có workTime auto return true
77
+ if (!workTimeExplanation)
36
78
  return [2 /*return*/, true
37
- // Tìm xem checkin config của phòng ban đó xem đi làm những ngày nào
79
+ // Lấy số giờ nhập trừ đi nghỉ trưa nếu
38
80
  ];
39
- dataShiftConfig = hrm_checkin_hrm_checkin_shift_config.find(function (configData) { return configData.department_id === staffDepartmentId_1 || configData.department_id === null; }) || {};
40
- _m = dataShiftConfig.applicable_days, applicable_days = _m === void 0 ? [] : _m;
81
+ break_start = dataShiftConfig.break_start, break_end = dataShiftConfig.break_end, allow_break_time = dataShiftConfig.allow_break_time;
82
+ isHasBreakTime = Boolean(allow_break_time && break_start && break_end);
83
+ totalWorkingReal = isHasBreakTime
84
+ ? getDurationTime(start_at, end_at, break_start, break_end)
85
+ : getDurationTime(start_at, end_at);
86
+ return [2 /*return*/, totalWorkingReal >= workTimeExplanation];
87
+ case 3:
88
+ // nếu không giới hạn thời gian tạo đơn return true luôn
89
+ if (!limitTimeCreate)
90
+ return [2 /*return*/, true];
91
+ _q = dataShiftConfig.applicable_days, applicable_days = _q === void 0 ? [] : _q;
41
92
  parseDate = function (dateStr) {
42
93
  var _a = dateStr.split('-').map(Number), y = _a[0], m = _a[1], d = _a[2];
43
94
  return new Date(y, m - 1, d);
@@ -60,11 +111,12 @@ export default function PHXAllowExplanation(_a) {
60
111
  }
61
112
  // chỉ hợp lệ nếu số ngày làm việc đã qua <= limit_time_create
62
113
  return [2 /*return*/, workingDaysPassed <= Number(limitTimeCreate)];
63
- case 2:
64
- error_1 = _o.sent();
114
+ case 4: return [3 /*break*/, 6];
115
+ case 5:
116
+ error_1 = _r.sent();
65
117
  console.log(error_1, 'error');
66
118
  return [2 /*return*/, false];
67
- case 3: return [2 /*return*/];
119
+ case 6: return [2 /*return*/];
68
120
  }
69
121
  });
70
122
  });
@@ -1 +1 @@
1
- {"version":3,"file":"checkAllowExplanation.js","sourceRoot":"","sources":["../../../../../src/components/Func/Explanation/checkAllowExplanation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkAllowExplanation.js","sourceRoot":"","sources":["../../../../../src/components/Func/Explanation/checkAllowExplanation.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,gBAAgB,MAAM,kBAAkB,CAAA;AAC/C,OAAO,oBAAoB,MAAM,iBAAiB,CAAA;AAElD,+BAA+B;AAC/B,SAAS,eAAe,CACtB,WAAoB,EAAE,aAAa;AACnC,YAAqB,EAAE,aAAa;AACpC,eAAwB,EAAE,aAAa;AACvC,aAAsB;IAEtB,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY;QAAE,OAAO,CAAC,CAAA;IAE3C,IAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAA,CAAC,4BAA4B;IACxD,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAE7B,IAAM,eAAe,GAAG,UAAC,OAAe;QAChC,IAAA,KAAY,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAzC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAkC,CAAA;QAChD,IAAM,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5B,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAED,IAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAM,GAAG,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;IAEzC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;IAE9E,IAAI,eAAe,IAAI,aAAa,EAAE;QACpC,IAAM,UAAU,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;QACnD,IAAM,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;QAE/C,sDAAsD;QACtD,IAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC9E,IAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAExE,IAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;QAEvG,YAAY,IAAI,oBAAoB,CAAA;KACrC;IAED,mBAAmB;IACnB,IAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAChD,IAAM,UAAU,GAAG,gBAAgB,GAAG,EAAE,CAAA;IAExC,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,MAAM,CAAC,OAAO,UAAgB,mBAAmB,CAAC,EAYjD;;QAXC,YAAY,kBAAA,EACZ,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,kBAAkB,wBAAA;;;;;;;oBASV,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,IAAI,MAAM,CAAC,CAAA;oBAC5E,QAAQ,GAAG,oBAAoB,EAAE,CAAA;oBAEjC,WAAW,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA;oBAC1B,SAAS,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,CAAA;oBAEf,qBAAM,gBAAgB,CAAC;4BAC3C,KAAK,EAAE,8BAA8B;4BACrC,SAAS,EAAE,EAAE,SAAS,WAAA,EAAE,OAAO,EAAE,WAAW,EAAE;yBAC/C,CAAC,EAAA;;oBAHM,KAAc,CAAA,SAGpB,CAAA,KAHe,EAAT,IAAI,mBAAG,EAAE,KAAA;oBAIX,SAAS,GACb,CAAA,MAAA,IAAI,CAAC,oCAAoC,0CAAE,MAAM,IAAG,CAAC;wBACrD,CAAA,MAAA,IAAI,CAAC,8BAA8B,0CAAE,MAAM,IAAG,CAAC;wBAC/C,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,CAAA;oBACxB,qCAAqC;oBACrC,IAAI,CAAC,SAAS;wBAAE,sBAAO,KAAK,EAAA;oBACpB,KAA+F,IAAI,+BAAhE,EAAnC,8BAA8B,mBAAG,EAAE,KAAA,EAAE,KAA0D,IAAI,qCAArB,EAAzC,oCAAoC,mBAAG,EAAE,KAAA,EAAE,KAAe,IAAI,MAAT,EAAV,KAAK,mBAAG,EAAE,KAAA,CAAS;oBAErG,mBAAmB,GAAG,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,gBAAgB,KAAI,EAAE,CAAA;oBACtD,sBAAoB,CAAA,MAAA,mBAAmB,CAAC,CAAC,CAAC,0CAAE,aAAa,KAAI,CAAC,CAAA;oBAE9D,eAAe,GAAG,MAAA,8BAA8B,CAAC,IAAI,CACzD,UAAC,IAAS,YAAK,OAAA,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,MAAK,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,CAAA,EAAA,CAC1F,0CAAE,iBAAiB,CAAA;oBAEd,eAAe,GACnB,oCAAoC,CAAC,IAAI,CACvC,UAAC,UAAe,IAAK,OAAA,UAAU,CAAC,aAAa,KAAK,mBAAiB,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAnF,CAAmF,CACzG,IAAI,EAAE,CAAA;yBAEL,wBAAwB,EAAxB,wBAAwB;oBAEM,qBAAM,gBAAgB,CAAC;4BACrD,KAAK,EAAE,mBAAmB;4BAC1B,SAAS,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE;yBACtC,CAAC,EAAA;;oBAHM,KAAwB,CAAA,SAG9B,CAAA,KAHyB,EAAb,QAAQ,mBAAG,EAAE,KAAA;oBAIrB,mBAAmB,GAAG,MAAM,CAAC,CAAA,MAAA,MAAA,QAAQ,CAAC,2BAA2B,0CAAG,CAAC,CAAC,0CAAE,SAAS,KAAI,CAAC,CAAC,CAAA;oBAC7F,qDAAqD;oBACrD,IAAI,CAAC,mBAAmB;wBAAE,sBAAO,IAAI;4BACrC,0CAA0C;0BADL;oBAE7B,WAAW,GAAkC,eAAe,YAAjD,EAAE,SAAS,GAAuB,eAAe,UAAtC,EAAE,gBAAgB,GAAK,eAAe,iBAApB,CAAoB;oBAE9D,cAAc,GAAG,OAAO,CAAC,gBAAgB,IAAI,WAAW,IAAI,SAAS,CAAC,CAAA;oBACtE,gBAAgB,GAAG,cAAc;wBACrC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC;wBAC3D,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;oBACrC,sBAAO,gBAAgB,IAAI,mBAAmB,EAAA;;oBAE9C,wDAAwD;oBACxD,IAAI,CAAC,eAAe;wBAAE,sBAAO,IAAI,EAAA;oBAEzB,KAAyB,eAAe,gBAApB,EAApB,eAAe,mBAAG,EAAE,KAAA,CAAoB;oBAE1C,SAAS,GAAG,UAAC,OAAe;wBAC1B,IAAA,KAAY,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAzC,CAAC,QAAA,EAAE,CAAC,QAAA,EAAE,CAAC,QAAkC,CAAA;wBAChD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;oBAC9B,CAAC,CAAA;oBAEK,UAAU,GAAG,UAAC,IAAS,IAAK,OAAA,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAA/B,CAA+B,CAAA;oBAE3D,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;oBAC/B,KAAK,GAAG,IAAI,IAAI,EAAE,CAAA;oBAClB,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;oBAEpF,2CAA2C;oBAC3C,IAAI,QAAQ,GAAG,WAAW;wBAAE,sBAAO,KAAK,EAAA;oBAEpC,iBAAiB,GAAG,CAAC,CAAA;oBACnB,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAA;oBAE5B,6CAA6C;oBAC7C,OAAO,CAAC,GAAG,WAAW,EAAE;wBACtB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAA;wBAC1B,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC3C,iBAAiB,EAAE,CAAA;yBACpB;qBACF;oBACD,8DAA8D;oBAC9D,sBAAO,iBAAiB,IAAI,MAAM,CAAC,eAAe,CAAC,EAAA;;;;oBAGrD,OAAO,CAAC,GAAG,CAAC,OAAK,EAAE,OAAO,CAAC,CAAA;oBAC3B,sBAAO,KAAK,EAAA;;;;;CAEf"}
@@ -1 +1,2 @@
1
1
  export declare const queryShiftAndExplanationConfig = "\nquery getShiftAndExplanationConfig($school_id: Int!, $user_id: Int!) {\n users(where: {id: {_eq: $user_id}}) {\n department_users(where: {deleted_at: {_is_null: true}}) {\n department_id\n department {\n name\n }\n }\n }\n hrm_checkin_hrm_checkin_shift_config(where: {deleted_at: {_is_null: true}, school_id: {_eq: $school_id}}) {\n id\n applicable_days\n department_id\n working_hours_per_day\n break_start\n break_end\n allow_break_time\n }\n hrm_checkin_explanation_config(where: {deleted_at: {_is_null: true}}) {\n limit_time_create\n id\n request_type_id\n approval_type {\n id\n code\n }\n }\n}";
2
+ export declare const queryAttendanceCode = "\nquery getAttendanceCode($id: Int!) {\n hrm_checkin_attendance_code(where: {id: {_eq: $id}}) {\n id\n work_time\n }\n}";
@@ -1,2 +1,3 @@
1
1
  export var queryShiftAndExplanationConfig = "\nquery getShiftAndExplanationConfig($school_id: Int!, $user_id: Int!) {\n users(where: {id: {_eq: $user_id}}) {\n department_users(where: {deleted_at: {_is_null: true}}) {\n department_id\n department {\n name\n }\n }\n }\n hrm_checkin_hrm_checkin_shift_config(where: {deleted_at: {_is_null: true}, school_id: {_eq: $school_id}}) {\n id\n applicable_days\n department_id\n working_hours_per_day\n break_start\n break_end\n allow_break_time\n }\n hrm_checkin_explanation_config(where: {deleted_at: {_is_null: true}}) {\n limit_time_create\n id\n request_type_id\n approval_type {\n id\n code\n }\n }\n}";
2
+ export var queryAttendanceCode = "\nquery getAttendanceCode($id: Int!) {\n hrm_checkin_attendance_code(where: {id: {_eq: $id}}) {\n id\n work_time\n }\n}";
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query/explannation/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,8BAA8B,GAAG,guBA4B5C,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/query/explannation/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,8BAA8B,GAAG,guBA4B5C,CAAA;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,uIAMjC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "phx-react",
3
- "version": "1.3.1065",
3
+ "version": "1.3.1066",
4
4
  "description": "PHX REACT",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",