PopModeViewController.m 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. //
  2. // PopModeViewController.m
  3. // RA Image
  4. //
  5. // Created by Jack on 2017/5/2.
  6. // Copyright © 2017年 USAI. All rights reserved.
  7. //
  8. #import "config.h"
  9. #import "PopModeViewController.h"
  10. #import "UploadViewController.h"
  11. #import "AESCrypt.h"
  12. @interface PopModeViewController ()
  13. @property (strong, nonatomic) IBOutlet UIButton *scanBtn;
  14. @property (strong, nonatomic) IBOutlet UIButton *camerBtn;
  15. @property (strong, nonatomic) IBOutlet UIButton *uploadBtn;
  16. @property (strong, nonatomic) IBOutlet UIButton *imgBtn;
  17. @property (strong, nonatomic) IBOutlet UILabel *barcodeLabel;
  18. @property (strong, nonatomic) IBOutlet UIButton *typeBtn;
  19. @property (strong, nonatomic) IBOutlet UILabel *photoCountLabel;
  20. @end
  21. @implementation PopModeViewController
  22. - (void)viewDidLoad {
  23. [super viewDidLoad];
  24. self.verify_msg0=[NSString stringWithFormat:@"%@ does not exist",self.barcodeTitle];
  25. // Do any additional setup after loading the view.
  26. self.imgBtn.layer.borderColor = [UIColor blackColor].CGColor;
  27. self.imgBtn.layer.borderWidth = 1.0f;
  28. self.barcodeLabel.text = [NSString stringWithFormat:@"%@:",self.barcodeTitle];
  29. }
  30. - (void)didReceiveMemoryWarning {
  31. [super didReceiveMemoryWarning];
  32. // Dispose of any resources that can be recreated.
  33. }
  34. #pragma mark - Private
  35. - (void)clear {
  36. self.barcode = nil;
  37. [self.imgBtn setBackgroundImage:nil forState:UIControlStateNormal];
  38. [self clearPhotos];
  39. }
  40. #pragma mark - Button Action
  41. - (IBAction)imgBtnClick:(UIButton *)sender {
  42. [self showPhotoList];
  43. }
  44. - (IBAction)scanBtnClick:(UIButton *)sender {
  45. [self showScanner];
  46. }
  47. - (IBAction)cameraBtnClick:(UIButton *)sender {
  48. [self clickCameraButton];
  49. }
  50. - (IBAction)uploadBtnClick:(UIButton *)sender {
  51. // check piid, photo...
  52. if(self.barcode.length ==0)
  53. {
  54. [RAUtils message_alert:[NSString stringWithFormat:@"%@ cannot be blank",self.barcodeTitle] title:@"Warning" controller:self];
  55. return;
  56. }
  57. if(self.photos.count ==0)
  58. {
  59. [RAUtils message_alert:@"You must take at least one photo." title:@"Warning" controller:self];
  60. return;
  61. }
  62. AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate;
  63. NSString* encryptu=[AESCrypt AES128Encrypt:Appdelegate.user key:@"usai"];
  64. NSString* encryptp=[AESCrypt AES128Encrypt:Appdelegate.password key:@"usai"];
  65. NSMutableDictionary* params = [@{
  66. @"user" : encryptu,
  67. @"password" : encryptp,
  68. @"mode":self.name,
  69. @"barcode":self.barcode,
  70. @"_operate":@"valid_upload",
  71. @"_action":@"handset_new",
  72. @"platform":@"ios"
  73. } mutableCopy];
  74. [self verify:params];
  75. // UploadViewController *upVC = (UploadViewController *)[self viewControllerInStoryboard:@"Upload" withId:@"UploadViewController"];
  76. // [self.navigationController pushViewController:upVC animated:YES];
  77. }
  78. -(void)addTasks
  79. {
  80. AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate;
  81. if (![self shouldUploadWithCurrentNerworkStatus]) {
  82. [self.view makeToast:@"Current network is not WiFi,you can upload it manually when wifi connected." duration:3.0 position:CSToastPositionCenter];
  83. }
  84. //prepare upload
  85. NSMutableArray* tasks = [NSMutableArray new];
  86. for(NSMutableDictionary* photo in self.photos)
  87. {
  88. NSMutableDictionary* task=[[NSMutableDictionary alloc]init];
  89. task[@"path"]=self.name;
  90. task[@"file"]=photo[@"file"];
  91. task[@"url"]=Appdelegate.address;
  92. NSString *md5 = [photo objectForKey:@"md5"];
  93. NSString* encryptu=[AESCrypt AES128Encrypt:Appdelegate.user key:@"usai"];
  94. NSString* encryptp=[AESCrypt AES128Encrypt:Appdelegate.password key:@"usai"];
  95. NSDictionary* params = @{
  96. @"user" : encryptu,
  97. @"password" : encryptp,
  98. @"mode":self.name,
  99. @"barcode":self.barcode,
  100. @"_operate":@"upload",
  101. @"_action":@"handset_new",
  102. @"platform":@"ios",
  103. @"md5":md5
  104. };
  105. task[@"params"]=params;
  106. NSString *file = photo[@"file"];
  107. [self moveTmpImageToCache:file];
  108. [tasks addObject:task];
  109. }
  110. // // add upload tasks;
  111. [Appdelegate.uploadManager addTasks:tasks];
  112. [self clear];
  113. }
  114. - (IBAction)typeBtnClick:(UIButton *)sender {
  115. [self showBarcodeInput:self.inputKeyboardType];//UIKeyboardTypeNumberPad
  116. }
  117. #pragma mark - Super Method
  118. - (void)receiveImage:(UIImage *)img {
  119. [self.imgBtn setBackgroundImage:img forState:UIControlStateNormal];
  120. }
  121. - (void)setBarcode:(NSString *)barcode {
  122. [super setBarcode:barcode];
  123. if (!barcode) {
  124. barcode = @"";
  125. }
  126. else
  127. {
  128. if(![RAUtils isNumeric:barcode]&&![self.name isEqualToString:@"Receiving"])
  129. {
  130. NSString* msg = [NSString stringWithFormat:@"%@ must be a number",self.barcodeTitle];
  131. [self.view makeToast:msg duration:3.0 position:CSToastPositionCenter];
  132. barcode = @"";
  133. }
  134. }
  135. self.barcodeLabel.text = [NSString stringWithFormat:@"%@:%@",self.barcodeTitle,barcode];
  136. }
  137. - (void)setPhotoCount:(NSUInteger)photoCount {
  138. [super setPhotoCount:photoCount];
  139. NSString *str = nil;
  140. if (photoCount > 0) {
  141. str = [NSString stringWithFormat:@"%lu Photos",photoCount];
  142. } else {
  143. str = @"No Photos";
  144. }
  145. self.photoCountLabel.text = str;
  146. }
  147. @end