/*
 * @Author: WuWei
 * @Date: 2020-07-21 15:21:33
 * @LastEditors: ChenYaJin
 * @LastEditTime: 2022-11-21 10:11:12
 * @Description:
 */
import 'package:app_package/app_package.dart';
import 'package:report_package/src/models/deal_person.dart';
import 'package:report_package/src/models/inner_sort_list.dart';
import 'package:report_package/src/models/report_classify.dart';
import 'package:report_package/src/models/report_detail.dart';
import 'package:report_package/src/models/report_dialog.dart';
import 'package:report_package/src/models/score_detail.dart';
import 'package:report_package/src/models/sort_list.dart';
import 'package:report_package/src/models/type_list.dart';
import '../../src/models/report_list_model.dart';
import '../models/report_person_list.dart';
import '../models/service_fee_detail.dart';
import '../models/service_project.dart';
import '../models/status.dart';

abstract class ReportService {
  /// 报事
  Future<ResModel<PagingModel<ReportListModel>>> getReportList(data);
  Future<ResModel<ReportDetailModel>> getReportDetail(data);
  Future<ResModel<ReportDialogModel>> getReportDialog(data);
  Future<ResModel<List<ReportPersonListModel>?>> getPersonList(data);
  Future<int?> putReport(data);
  Future<int?> postDialog(data);
  Future<ResModel<List<ReportClassifyModel>?>> getDealClassify(data);
  Future<int?> postTransfer(data);
  Future<ResModel<List<StatusModel>>> getReportSortList();
  Future<ResModel<List<StatusModel>>> getBusinessStatus(type);
  Future<ResModel<List<StatusModel>>> getStatusEnum();

  /// 费用
  Future<ResModel<ServiceFeeDetailModel>> getServiceFeeDetaill(data);
  Future<String?> postServiceFee(data);
  Future<int?> putServiceFee(id, data);
  Future<ResModel<List<ServiceProject>?>> getServiceProjectList(data);
  Future<ResModel<ScoreDetailModel>> getScoreDetail(id);

  /// 处理人列表
  Future<ResModel<List<DealPeasonModel>?>> getDealPerson(data);

  /// 类别列表 http://yapi.wisdomcity.com.cn/project/16/interface/api/20670
  Future<ResModel<List<TypeListModel>?>> getTypeList();

  /// 分类列表 http://yapi.wisdomcity.com.cn/project/16/interface/api/20670
  Future<ResModel<List<SortListModel>?>> getSortList(data);
  Future<ResModel<List<InnerSortListModel>>> getInnerSortList();
  Future<ResModel<int>> setReportTime(id, data);

  ///统计
  Future<ResModel<StatusStatistic>> getReportStatistic(data);
}
