/*
 * @Author: WuWei
 * @Date: 2020-06-19 17:21:04
 * @LastEditors  : WuWei
 * @LastEditTime : 2023-02-09 14:56:41
 * @Description:
 */
import 'package:app_package/app_package.dart';
import 'package:task_package/src/models/task_multi_list.dart';
import '../../src/models/my_time_line.dart';
import '../../src/models/task_assign_model.dart';
import '../../src/models/task_detail.dart';
import '../../src/models/task_emp_infos.dart';
import '../../src/models/task_inventory_model.dart';
import '../../src/models/task_inventory_stat_model.dart';
import '../../src/models/task_manage_stat_model.dart';
import '../../src/models/task_mycc_v2_model.dart';
import '../../src/models/task_myorgan_model.dart';
import '../../src/models/task_organ_stat.dart';
import '../../src/models/task_plan_detail.dart';
import '../../src/models/task_state.dart';
import '../../src/models/task_statistic_model.dart';
import '../models/task_child.dart';
// import '../models/task_mycc.dart';

abstract class TaskService {
  Future<ResModel<List<TaskChildModel>?>> getTaskChildList(data);
  Future<bool> putTransfer(data);
  Future<int?> postChildTask(data);
  // Future<ResModel<PagingModel<TaskMyccModel>>> getMyccList(data);
  Future<bool?> getCheckChild(data);
  Future<double?> getUseTime(data);
  Future<bool> putStartTask(String id);
  Future<bool> postCreate(Map data);
  // Future<ResModel<IndustryNewsDetailModel>> getNewsDetail(data);
  /// 我的日程

  Future<ResModel<List<MyTimeLineModel>?>> getMyTimeLine(data);
  Future<ResModel<TaskPlanDetailModel>> getPlanDetail(data);
  Future<ResModel<num?>> postTaskAddV3(data);
  Future<ResModel<num?>> putTaskUpdateV2(data);
  Future<ResModel<num?>> postTaskChildV2(data);
  Future<ResModel<PagingModel<TaskAssignModel>>> getAssignTaskList(data);
  Future<ResModel<PagingModel<TaskMyccV2Model>>> getMyCcTaskList(data);
  Future<ResModel<PagingModel<TaskMyorganModel>>> getMyOrganList(data);
  Future<ResModel<TaskStatisticModel>> getTaskStatictis(data);
  Future<ResModel<List<TaskInventoryModel>?>> getInventoryList(data);
  Future<ResModel<TaskManageStatModel>> getTaskManageStatistic(data);
  Future<ResModel<List<TaskInventoryStatModel>?>> getTaskInventoryStat(data);
  Future<ResModel<num?>> getMypalnCount(data);
  Future<ResModel<List<TaskOrganStat>?>> getEployeeOransStat(data);
  Future<ResModel<List<TaskEmpInfos>?>> getEmployeeEmpInfos(data);

  ///任务动态查询
  ///http://yapi.wisdomcity.com.cn/project/40/interface/api/7799
  Future<ResModel<List<TaskStateModel>?>> getState(data);

  ///任务重新打开
  ///http://yapi.wisdomcity.com.cn/project/40/interface/api/7791
  Future<ResModel<int?>> putReopen(data);

  ///任务完成
  ///http://yapi.wisdomcity.com.cn/project/40/interface/api/7773
  Future<ResModel<int?>> putFinished(data);

  ///任务删除
  ///http://yapi.wisdomcity.com.cn/project/40/interface/api/7775
  Future<ResModel<int?>> delete(id);

  ///任务详情
  ///http://yapi.wisdomcity.com.cn/project/40/interface/api/7821
  Future<ResModel<TaskDetailModel>> getTaskDetail(id);
  Future<ResModel<int?>> postCommentCreate(data);

  /// 任务多环节列表
  Future<ResModel<List<TaskMultiList>?>> getMultiTaskList(exPlatformId);

  /// 任务审查
  Future<ResModel<int?>> putTaskCheck(data);

  /// 任务重启
  Future<ResModel<int?>> putTaskReopen(data);
}
