OrderModel.m 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. //
  2. // OrderModel.m
  3. // IBOSSIPAD
  4. //
  5. // Created by iHope on 14-8-20.
  6. // Copyright (c) 2014年 elongtian. All rights reserved.
  7. //
  8. #import "OrderModel.h"
  9. #import "HistoryOrderFrame.h"
  10. #import "OrderItemModel.h"
  11. #import "SBJsonWriter.h"
  12. #import "HistoryOrderViewController.h"
  13. @interface OrderModel()
  14. {
  15. MBProgressHUD *HUD;
  16. UIView *view;
  17. }
  18. @property(strong) NSMutableArray *orignalArr;
  19. @property(nonatomic) ASIDownManager *mDownManager;
  20. @end
  21. @implementation OrderModel
  22. #pragma mark - 公共函数
  23. /**
  24. init函数
  25. */
  26. -(id)init
  27. {
  28. self =[super init];
  29. if(self){
  30. _workflowArr=[NSMutableArray new];
  31. _orignalArr=[NSMutableArray new];
  32. isCheckAll=YES;
  33. }
  34. return self;
  35. }
  36. #pragma mark - 私有函数
  37. /**
  38. 解析接口函数
  39. */
  40. -(void)parseWorkFlowArr:(NSArray *)arr
  41. {
  42. if(arr!=nil)
  43. { [_workflowArr removeAllObjects];
  44. for(int i=0;i<arr.count;i++)
  45. {
  46. NSDictionary * dic=arr[i];
  47. OrderItemModel *infoMode=[OrderItemModel new];
  48. [infoMode ParseDic:dic];
  49. HistoryOrderFrame *frame=[HistoryOrderFrame new];
  50. [frame setHistoryOrderModel:infoMode];
  51. [_workflowArr addObject:frame];
  52. }
  53. _orignalArr =[NSMutableArray arrayWithArray:arr];
  54. }
  55. }
  56. //获得选中的集合
  57. -(NSArray *)checkedArr
  58. {
  59. NSMutableArray *tempArr=[NSMutableArray new];
  60. for(int i=0;i<_workflowArr.count;i++)
  61. {
  62. OrderItemModel *model= [_workflowArr objectAtIndex:i] ;
  63. if(model.isChecked){
  64. [tempArr addObject:model];
  65. }
  66. }
  67. return tempArr;
  68. }
  69. //获得选中的原始数据的集合
  70. -(NSArray *)checkedOriginalArr
  71. {
  72. NSArray *tempArr=[self checkedArr];
  73. NSMutableArray *finalArr=[NSMutableArray new];
  74. for(OrderItemModel *model in tempArr)
  75. {
  76. for(NSDictionary * dic in _orignalArr)
  77. {
  78. NSString *cartId=[NSString stringWithFormat:@"%@",[dic objectForKey:@"OrderID"]];
  79. if([cartId intValue]==[model.orderID intValue])
  80. {
  81. [finalArr addObject:dic];
  82. }
  83. }
  84. }
  85. return finalArr;
  86. }
  87. //看是否全选
  88. -(BOOL)isCheckedAll
  89. {
  90. BOOL ischecked=YES;
  91. for(OrderItemModel *wf in _workflowArr) {
  92. if( wf.isChecked==NO)
  93. {
  94. ischecked=NO;
  95. break;
  96. }
  97. }
  98. return ischecked;
  99. }
  100. //全选或者全不选
  101. -(BOOL)updateAllCellCheck
  102. {
  103. if(!isCheckAll){
  104. isCheckAll=YES;
  105. for(OrderItemModel *wf in _workflowArr) {
  106. wf.isChecked =YES;
  107. }
  108. }
  109. else
  110. {
  111. isCheckAll=NO;
  112. for(OrderItemModel *wf in _workflowArr) {
  113. wf.isChecked =NO;
  114. }
  115. }
  116. return NO;
  117. }
  118. //至少选择一个
  119. -(BOOL)isSelectAtLeastOne
  120. {
  121. BOOL s=NO;
  122. for(OrderItemModel *wf in _workflowArr) {
  123. if(wf.isChecked)
  124. {
  125. s=YES;
  126. break;
  127. }
  128. }
  129. return s;
  130. }
  131. //更新cell的选中状态
  132. -(BOOL)updateCellChecked : (NSString *) checkDocId
  133. {
  134. OrderItemModel *curobj=nil;
  135. for(OrderItemModel *wf in _workflowArr){
  136. if([wf.orderID intValue]==[checkDocId intValue] ) {
  137. wf.isChecked = !wf.isChecked;
  138. curobj=wf;
  139. break;
  140. }
  141. }
  142. BOOL ischeckedll=YES;
  143. for(OrderItemModel *wf in _workflowArr) {
  144. if( wf.isChecked==NO)
  145. {
  146. ischeckedll=NO;
  147. break;
  148. }
  149. }
  150. isCheckAll=ischeckedll;
  151. if(curobj){
  152. return curobj.isChecked;
  153. }
  154. else{
  155. return NO;
  156. }
  157. }
  158. @end