th_er_repository.dart 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. import 'package:domain/entity/response/hotel_info_entity.dart';
  2. import 'package:domain/entity/response/job_list_e_r_option_entity.dart';
  3. import 'package:domain/entity/response/labour_request_e_r_entity.dart';
  4. import 'package:domain/entity/response/sign_in_sign_out_entity.dart';
  5. import 'package:domain/entity/response/switch_project_entity.dart';
  6. import 'package:get/get.dart';
  7. import 'package:plugin_platform/http/http_provider.dart';
  8. import 'package:plugin_platform/http/http_result.dart';
  9. import 'package:plugin_platform/platform_export.dart';
  10. import 'package:shared/utils/util.dart';
  11. import '../constants/api_constants.dart';
  12. import '../entity/response/labour_list_e_r_entity.dart';
  13. import '../entity/response/labour_request_e_r_option_entity.dart';
  14. /// 泰国的 ER 的数据仓库
  15. class THERRepository extends GetxService {
  16. HttpProvider httpProvider;
  17. THERRepository({required this.httpProvider});
  18. /// 获取 ER 用工请求列表
  19. Future<HttpResult<LabourRequestEREntity>> fetchERLabourRequest(
  20. String? date, {
  21. CancelToken? cancelToken,
  22. }) async {
  23. Map<String, String> params = {};
  24. if (!Utils.isEmpty(date)) {
  25. params["day"] = date!;
  26. }
  27. final result = await httpProvider.requestNetResult(
  28. ApiConstants.apiERLabourRequestTH,
  29. params: params,
  30. cancelToken: cancelToken,
  31. );
  32. if (result.isSuccess) {
  33. final json = result.getDataJson();
  34. var data = LabourRequestEREntity.fromJson(json!);
  35. return result.convert<LabourRequestEREntity>(data: data);
  36. }
  37. return result.convert();
  38. }
  39. /// 获取 ER 用工请求选项
  40. Future<HttpResult<LabourRequestEROptionEntity>> fetchERLabourRequestAddOption({
  41. CancelToken? cancelToken,
  42. }) async {
  43. final result = await httpProvider.requestNetResult(
  44. ApiConstants.apiERLabourRequestAddOptionTH,
  45. networkDebounce: true,
  46. isShowLoadingDialog: true,
  47. cancelToken: cancelToken,
  48. );
  49. if (result.isSuccess) {
  50. final json = result.getDataJson();
  51. var data = LabourRequestEROptionEntity.fromJson(json!);
  52. return result.convert<LabourRequestEROptionEntity>(data: data);
  53. }
  54. return result.convert();
  55. }
  56. /// 新增 ER 的用工请求
  57. Future<HttpResult> addLabourRequestERSubmit({
  58. required String jobTitleId,
  59. required String startTime,
  60. required String endTime,
  61. required String outletId,
  62. String? repeatStart,
  63. String? repeatEnd,
  64. String? sexLimit,
  65. String? needNum,
  66. String? maleLimit,
  67. String? femaleLimit,
  68. String? eventName,
  69. String? eventType,
  70. String? remark,
  71. CancelToken? cancelToken,
  72. }) async {
  73. Map<String, String> params = {};
  74. params["job_title_id"] = jobTitleId;
  75. params["start_time"] = startTime;
  76. params["end_time"] = endTime;
  77. params["outlet_id"] = outletId;
  78. if (!Utils.isEmpty(repeatStart)) {
  79. params["repeat_start"] = repeatStart!;
  80. }
  81. if (!Utils.isEmpty(repeatEnd)) {
  82. params["repeat_end"] = repeatEnd!;
  83. }
  84. if (!Utils.isEmpty(sexLimit)) {
  85. params["sex_limit"] = sexLimit!;
  86. }
  87. if (!Utils.isEmpty(needNum)) {
  88. params["need_num"] = needNum!;
  89. }
  90. if (!Utils.isEmpty(maleLimit)) {
  91. params["male_limit"] = maleLimit!;
  92. }
  93. if (!Utils.isEmpty(femaleLimit)) {
  94. params["female_limit"] = femaleLimit!;
  95. }
  96. if (!Utils.isEmpty(eventName)) {
  97. params["event_name"] = eventName!;
  98. }
  99. if (!Utils.isEmpty(eventType)) {
  100. params["event_type"] = eventType!;
  101. }
  102. if (!Utils.isEmpty(remark)) {
  103. params["remark"] = remark!;
  104. }
  105. final result = await httpProvider.requestNetResult(
  106. ApiConstants.apiERLabourRequestAddSubmitTH,
  107. method: HttpMethod.POST,
  108. params: params,
  109. networkDebounce: true,
  110. isShowLoadingDialog: true,
  111. cancelToken: cancelToken,
  112. );
  113. if (result.isSuccess) {
  114. return result.convert();
  115. }
  116. return result.convert();
  117. }
  118. /// 获取 ER 工作列表选项
  119. Future<HttpResult<JobListEROptionEntity>> fetchERJobListOption({
  120. String? date,
  121. CancelToken? cancelToken,
  122. }) async {
  123. Map<String, String> params = {};
  124. if (!Utils.isEmpty(date)) {
  125. params["daily"] = date!;
  126. }
  127. final result = await httpProvider.requestNetResult(
  128. ApiConstants.apiERJobListOptionTH,
  129. params: params,
  130. cancelToken: cancelToken,
  131. );
  132. if (result.isSuccess) {
  133. final json = result.getDataJson();
  134. var data = JobListEROptionEntity.fromJson(json!);
  135. return result.convert<JobListEROptionEntity>(data: data);
  136. }
  137. return result.convert();
  138. }
  139. /// 获取 ER 工作列表
  140. Future<HttpResult<LabourListEREntity>> fetchERJobListTable({
  141. required int curPage,
  142. String? keyword,
  143. String? divisionId,
  144. String? outletId,
  145. String? status,
  146. String? startDate,
  147. String? endDate,
  148. String? trending,
  149. CancelToken? cancelToken,
  150. }) async {
  151. //参数
  152. Map<String, String> params = {};
  153. params["cur_page"] = curPage.toString();
  154. params["page_size"] = "10";
  155. if (!Utils.isEmpty(keyword)) {
  156. params["job_title"] = keyword!;
  157. }
  158. if (!Utils.isEmpty(divisionId)) {
  159. params["division_id"] = divisionId!;
  160. }
  161. if (!Utils.isEmpty(outletId)) {
  162. params["outlet_id"] = outletId!;
  163. }
  164. if (!Utils.isEmpty(status)) {
  165. params["status"] = status!;
  166. }
  167. if (!Utils.isEmpty(startDate)) {
  168. params["start_date"] = startDate!;
  169. }
  170. if (!Utils.isEmpty(endDate)) {
  171. params["end_date"] = endDate!;
  172. }
  173. if (!Utils.isEmpty(trending)) {
  174. params["trending"] = trending!;
  175. }
  176. final result = await httpProvider.requestNetResult(
  177. ApiConstants.apiERJobListTableTH,
  178. params: params,
  179. cancelToken: cancelToken,
  180. );
  181. if (result.isSuccess) {
  182. final json = result.getDataJson();
  183. var data = LabourListEREntity.fromJson(json!);
  184. return result.convert<LabourListEREntity>(data: data);
  185. }
  186. return result.convert();
  187. }
  188. /// ER 工作列表的删除
  189. Future<HttpResult> deleteJobListERSubmit({
  190. required String jobId,
  191. required String type,
  192. CancelToken? cancelToken,
  193. }) async {
  194. Map<String, String> params = {};
  195. params["job_id"] = jobId;
  196. params["type"] = type;
  197. final result = await httpProvider.requestNetResult(
  198. ApiConstants.apiERJobListDeleteTH,
  199. method: HttpMethod.POST,
  200. params: params,
  201. networkDebounce: true,
  202. isShowLoadingDialog: true,
  203. cancelToken: cancelToken,
  204. );
  205. if (result.isSuccess) {
  206. return result.convert();
  207. }
  208. return result.convert();
  209. }
  210. }