|
@@ -1,26 +1,22 @@
|
|
import 'package:domain/entity/response/attendance_entity.dart';
|
|
import 'package:domain/entity/response/attendance_entity.dart';
|
|
import 'package:domain/entity/response/labour_request_index_entity.dart';
|
|
import 'package:domain/entity/response/labour_request_index_entity.dart';
|
|
-import 'package:domain/entity/response/labour_review_list_entity.dart';
|
|
|
|
-import 'package:domain/repository/job_repository.dart';
|
|
|
|
-import 'package:domain/repository/labour_repository.dart';
|
|
|
|
|
|
+import 'package:domain/entity/response/u_k_report_attendance_entity.dart';
|
|
|
|
+import 'package:domain/entity/response/u_k_security_attendance_option_entity.dart';
|
|
|
|
+import 'package:domain/repository/uk_report_repository.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
|
|
import 'package:plugin_platform/engine/dialog/dialog_engine.dart';
|
|
-import 'package:plugin_platform/engine/notify/notify_engine.dart';
|
|
|
|
-import 'package:plugin_platform/engine/toast/toast_engine.dart';
|
|
|
|
import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
|
|
import 'package:plugin_platform/http/dio/dio_cancelable_mixin.dart';
|
|
import 'package:plugin_platform/http/http_result.dart';
|
|
import 'package:plugin_platform/http/http_result.dart';
|
|
import 'package:shared/utils/date_time_utils.dart';
|
|
import 'package:shared/utils/date_time_utils.dart';
|
|
import 'package:shared/utils/log_utils.dart';
|
|
import 'package:shared/utils/log_utils.dart';
|
|
-import 'package:shared/utils/util.dart';
|
|
|
|
-import 'package:widgets/dialog/app_default_dialog.dart';
|
|
|
|
|
|
+
|
|
import 'package:widgets/load_state_layout.dart';
|
|
import 'package:widgets/load_state_layout.dart';
|
|
import 'package:widgets/widget_export.dart';
|
|
import 'package:widgets/widget_export.dart';
|
|
import 'widget/attendance_report_filter.dart';
|
|
import 'widget/attendance_report_filter.dart';
|
|
import 'attendance_report_state.dart';
|
|
import 'attendance_report_state.dart';
|
|
|
|
|
|
class AttendanceReportController extends GetxController with DioCancelableMixin {
|
|
class AttendanceReportController extends GetxController with DioCancelableMixin {
|
|
- final LabourRepository _labourRepository = Get.find();
|
|
|
|
- final JobRepository _jobRepository = Get.find();
|
|
|
|
|
|
+ final UKReportRepository _reportRepository = Get.find();
|
|
final AttendanceReportState state = AttendanceReportState();
|
|
final AttendanceReportState state = AttendanceReportState();
|
|
|
|
|
|
var _curPage = 1;
|
|
var _curPage = 1;
|
|
@@ -69,25 +65,25 @@ class AttendanceReportController extends GetxController with DioCancelableMixin
|
|
|
|
|
|
// 并发执行两个请求,拿到选项数据与列表数据
|
|
// 并发执行两个请求,拿到选项数据与列表数据
|
|
var futures = [
|
|
var futures = [
|
|
- _jobRepository.fetchAttendanceList(
|
|
|
|
- state.staffName,
|
|
|
|
- DateTimeUtils.formatDate(state.selectedStartDate, format: "yyyy-MM-dd"),
|
|
|
|
- DateTimeUtils.formatDate(state.selectedEndDate, format: "yyyy-MM-dd"),
|
|
|
|
|
|
+ _reportRepository.fetchReportAttendanceList(
|
|
|
|
+ keyword: state.staffName,
|
|
|
|
+ startDate: DateTimeUtils.formatDate(state.selectedStartDate, format: "yyyy-MM-dd"),
|
|
|
|
+ endDate: DateTimeUtils.formatDate(state.selectedEndDate, format: "yyyy-MM-dd"),
|
|
|
|
+ departmentId: state.selectedDepartmentId,
|
|
curPage: _curPage,
|
|
curPage: _curPage,
|
|
- pageSize: 10,
|
|
|
|
cancelToken: cancelToken,
|
|
cancelToken: cancelToken,
|
|
),
|
|
),
|
|
state.indexOptions == null
|
|
state.indexOptions == null
|
|
- ? _labourRepository.fetchLabourReviewIndex(
|
|
|
|
- cancelToken: cancelToken,
|
|
|
|
- )
|
|
|
|
|
|
+ ? _reportRepository.fetchReportOptions(
|
|
|
|
+ cancelToken: cancelToken,
|
|
|
|
+ )
|
|
: Future(() => HttpResult(isSuccess: true).convert(data: state.indexOptions!)),
|
|
: Future(() => HttpResult(isSuccess: true).convert(data: state.indexOptions!)),
|
|
];
|
|
];
|
|
|
|
|
|
//拿到结果
|
|
//拿到结果
|
|
var results = await Future.wait(futures);
|
|
var results = await Future.wait(futures);
|
|
- var listResult = results[0] as HttpResult<AttendanceEntity>;
|
|
|
|
- var optionResult = results[1] as HttpResult<LabourRequestIndexEntity>;
|
|
|
|
|
|
+ var listResult = results[0] as HttpResult<UKReportAttendanceEntity>;
|
|
|
|
+ var optionResult = results[1] as HttpResult<UKSecurityAttendanceOptionEntity>;
|
|
|
|
|
|
//选项数据
|
|
//选项数据
|
|
if (state.indexOptions == null && optionResult.isSuccess) {
|
|
if (state.indexOptions == null && optionResult.isSuccess) {
|
|
@@ -107,7 +103,7 @@ class AttendanceReportController extends GetxController with DioCancelableMixin
|
|
}
|
|
}
|
|
|
|
|
|
// 处理数据与展示的逻辑
|
|
// 处理数据与展示的逻辑
|
|
- void handleList(List<AttendanceList>? list) {
|
|
|
|
|
|
+ void handleList(List<UKReportAttendanceRows>? list) {
|
|
if (list != null && list.isNotEmpty) {
|
|
if (list != null && list.isNotEmpty) {
|
|
//有数据,判断是刷新还是加载更多的数据
|
|
//有数据,判断是刷新还是加载更多的数据
|
|
if (_curPage == 1) {
|
|
if (_curPage == 1) {
|
|
@@ -159,13 +155,13 @@ class AttendanceReportController extends GetxController with DioCancelableMixin
|
|
selectedEndDate: state.selectedEndDate,
|
|
selectedEndDate: state.selectedEndDate,
|
|
selectedDepartmentId: state.selectedDepartmentId,
|
|
selectedDepartmentId: state.selectedDepartmentId,
|
|
staffName: state.staffName,
|
|
staffName: state.staffName,
|
|
- onFilterAction: (startDate, endDate, departmentId,staffName) {
|
|
|
|
|
|
+ onFilterAction: (startDate, endDate, departmentId, staffName) {
|
|
state.selectedStartDate = startDate;
|
|
state.selectedStartDate = startDate;
|
|
state.selectedEndDate = endDate;
|
|
state.selectedEndDate = endDate;
|
|
state.selectedDepartmentId = departmentId;
|
|
state.selectedDepartmentId = departmentId;
|
|
state.staffName = staffName;
|
|
state.staffName = staffName;
|
|
|
|
|
|
- Log.d("筛选的值为:startDate:$startDate endDate:$endDate departmentId:$departmentId staffName:$staffName");
|
|
|
|
|
|
+ Log.d("筛选的值为:startDate:$startDate endDate:$endDate departmentId:$departmentId title:$staffName");
|
|
|
|
|
|
//赋值之后刷新
|
|
//赋值之后刷新
|
|
refreshController.callRefresh();
|
|
refreshController.callRefresh();
|
|
@@ -176,4 +172,5 @@ class AttendanceReportController extends GetxController with DioCancelableMixin
|
|
);
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|