NewInventoryFreezeViewController.m 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919
  1. //
  2. // NewInventoryFreezeViewController.m
  3. // IBOSS
  4. //
  5. // Created by 关宏厚 on 2020/4/29.
  6. // Copyright © 2020 elongtian. All rights reserved.
  7. //
  8. #import "NewInventoryFreezeViewController.h"
  9. @interface NewInventoryFreezeViewController ()
  10. @end
  11. @implementation NewInventoryFreezeViewController
  12. - (void)viewDidLoad {
  13. [super viewDidLoad];
  14. [self loadNavStyle];
  15. [self initTableView];
  16. [self initUI];
  17. [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
  18. [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
  19. if(_editFlag)
  20. {
  21. [self loadDetailData];
  22. }
  23. }
  24. /**
  25. 导航按钮样式
  26. */
  27. - (void)loadNavStyle
  28. {
  29. if(_editFlag)
  30. {
  31. self.navigationItem.title =@"编辑库存冻结";
  32. }
  33. else
  34. {
  35. self.navigationItem.title =@"新建库存冻结";
  36. }
  37. //返回
  38. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  39. [button setImage:[UIImage imageNamed:@"icon_back"] forState:UIControlStateNormal];
  40. [button addTarget:self action:@selector(goBack)
  41. forControlEvents:UIControlEventTouchUpInside];
  42. button.frame = CGRectMake(0, 0,45,22);
  43. UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:button];
  44. self.navigationItem.leftBarButtonItem = menuButton;
  45. }
  46. /**
  47. 键盘弹出
  48. @param note
  49. */
  50. - (void)keyboardWillShow:(NSNotification *)note
  51. {
  52. CGRect keyBoardRect = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
  53. _tableView.contentInset = UIEdgeInsetsMake(0, 0, keyBoardRect.size.height, 0);
  54. }
  55. /**
  56. 键盘隐藏
  57. @param note
  58. */
  59. - (void)keyboardWillHide:(NSNotification *)note
  60. {
  61. _tableView.contentInset = UIEdgeInsetsZero;
  62. }
  63. /**
  64. 屏幕触摸回调函数
  65. @param touches <#touches description#>
  66. @param event <#event description#>
  67. */
  68. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
  69. {
  70. [self.view endEditing:YES];
  71. }
  72. /**
  73. scrollview回调函数
  74. @param scrollView <#scrollView description#>
  75. */
  76. - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
  77. [self.view endEditing:YES];
  78. }
  79. -(void)loadDetailData
  80. {
  81. [self startLoading];
  82. _downManager = [[ASIDownManager alloc] init];
  83. _downManager.delegate = self;
  84. _downManager.onRequestSuccess = @selector(onEditDataLoadFinish:);
  85. _downManager.onRequestFail = @selector(onEditDataLoadFail:);
  86. NSString *urlStr = ServerURL;
  87. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  88. [dict setObject:@"GetFreezeAllIPhone" forKey:@"Action"];
  89. [dict setObject:[NSString stringWithFormat:@"%@",kkAccountCode]forKey:@"AccountCode"];
  90. [dict setObject:kkUserCode forKey:@"UserCode"];
  91. [dict setObject:kkUserPwd forKey:@"UserPassword"];
  92. [dict setObject:kkSessionKey forKey:@"SessionKey"];
  93. [dict setObject:_freezeId forKey:@"FreezeID"];
  94. [_downManager postHttpRequest:urlStr dic:dict path:nil fileName:nil];
  95. }
  96. /**
  97. 安全区视图发生变化
  98. */
  99. -(void)viewSafeAreaInsetsDidChange{
  100. _tableView.frame =CGRectMake(0, 0, self.view.frame.size.width,self.view.safeAreaLayoutGuide.layoutFrame.size.height-40);
  101. _btnSubmit.frame=CGRectMake(0, self.view.safeAreaLayoutGuide.layoutFrame.size.height-40, self.view.frame.size.width, 40);
  102. [super viewSafeAreaInsetsDidChange];
  103. }
  104. /**
  105. 初始化tableview
  106. */
  107. - (void)initTableView
  108. {
  109. _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-40)];
  110. _tableView.backgroundColor = [UIColor redColor];
  111. _tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
  112. _tableView.backgroundColor = [UIColor whiteColor];
  113. _tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
  114. _tableView.delegate = self;
  115. _tableView.dataSource=self;
  116. [self.view addSubview:_tableView];
  117. }
  118. -(void)initUI
  119. {
  120. _headerView = [UIView new];
  121. _headerView.frame=CGRectZero;
  122. [self.view addSubview:_headerView];
  123. UIView *vCustomerCode = [UIView new];
  124. vCustomerCode.frame=CGRectMake(0, 0,Screen_Width, 51);
  125. [_headerView addSubview:vCustomerCode];
  126. UILabel *lblCustomerCode = [UILabel new];
  127. lblCustomerCode.frame=CGRectMake(15, 16, 100, 25);
  128. lblCustomerCode.text = @"客户编码";
  129. lblCustomerCode.textColor=[UIColor redColor];
  130. lblCustomerCode.font=orderTextFont;
  131. [vCustomerCode addSubview:lblCustomerCode];
  132. _btnCustomerCode = [UIButton buttonWithType:UIButtonTypeCustom];
  133. _btnCustomerCode.tag=1301;
  134. _btnCustomerCode.frame=CGRectMake(CGRectGetMaxX(lblCustomerCode.frame)+10, 16, 150, 25);
  135. _btnCustomerCode.titleLabel.font=orderTextFont;
  136. _btnCustomerCode.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  137. [_btnCustomerCode setTitle:@"请选择客户编码" forState:UIControlStateNormal];
  138. [_btnCustomerCode setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
  139. [vCustomerCode addSubview:_btnCustomerCode];
  140. [_btnCustomerCode addTarget:self action:@selector(searchCustomerCode) forControlEvents:UIControlEventTouchUpInside];
  141. UIImageView *customerCodeImg = [[UIImageView alloc] initWithFrame:CGRectMake(Screen_Width-25, 20,7,12)];
  142. [customerCodeImg setImage:[UIImage imageNamed:@"rightarrow"] ];
  143. [vCustomerCode addSubview:customerCodeImg];
  144. UIView *separator1 = [UIView new];
  145. separator1.backgroundColor=LineBackgroundColor;
  146. separator1.frame=CGRectMake(CGRectGetMaxX( lblCustomerCode.frame)+10,CGRectGetMaxY(_btnCustomerCode.frame)+10,Screen_Width-CGRectGetMaxX( lblCustomerCode.frame)+10, 1);
  147. [vCustomerCode addSubview:separator1];
  148. [_headerView addSubview:vCustomerCode];
  149. UIView *vEndDate = [UIView new];
  150. vEndDate.frame=CGRectMake(0,CGRectGetMaxY(vCustomerCode.frame),Screen_Width, 51);
  151. [_headerView addSubview:vEndDate];
  152. UILabel *lblEndDate = [UILabel new];
  153. lblEndDate.frame=CGRectMake(15, 16, 100, 25);
  154. lblEndDate.text = @"截止日期";
  155. lblEndDate.textColor=[UIColor redColor];
  156. lblEndDate.font=orderTextFont;
  157. [vEndDate addSubview:lblEndDate];
  158. _btnEndDate = [UIButton buttonWithType:UIButtonTypeCustom];
  159. _btnEndDate.frame=CGRectMake(CGRectGetMaxX(lblEndDate.frame)+10, 16, 150, 25);
  160. _btnEndDate.titleLabel.font=orderTextFont;
  161. _btnEndDate.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  162. [_btnEndDate setTitle:@"请选择截止日期" forState:UIControlStateNormal];
  163. [_btnEndDate setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
  164. [vEndDate addSubview:_btnEndDate];
  165. [_btnEndDate addTarget:self action:@selector(selectEndDate) forControlEvents:UIControlEventTouchUpInside];
  166. UIImageView *endDateImg = [[UIImageView alloc] initWithFrame:CGRectMake(Screen_Width-25, 20,7,12)];
  167. [endDateImg setImage:[UIImage imageNamed:@"rightarrow"] ];
  168. [vEndDate addSubview:endDateImg];
  169. UIView *separator2 = [UIView new];
  170. separator2.backgroundColor=LineBackgroundColor;
  171. separator2.frame=CGRectMake(CGRectGetMaxX( lblEndDate.frame)+10,CGRectGetMaxY(_btnEndDate.frame)+10,Screen_Width-CGRectGetMaxX( lblEndDate.frame)+10, 1);
  172. [vEndDate addSubview:separator2];
  173. [_headerView addSubview:vEndDate];
  174. UIView *vInvoiceStyle = [UIView new];
  175. vInvoiceStyle.frame=CGRectMake(0,CGRectGetMaxY(vEndDate.frame),Screen_Width, 51);
  176. [_headerView addSubview:vInvoiceStyle];
  177. UILabel *lblInvoiceStyle = [UILabel new];
  178. lblInvoiceStyle.frame=CGRectMake(15, 16, 100, 25);
  179. lblInvoiceStyle.text = @"票据样式";
  180. lblInvoiceStyle.textColor=[UIColor blackColor];
  181. lblInvoiceStyle.font=orderTextFont;
  182. [vInvoiceStyle addSubview:lblInvoiceStyle];
  183. _btnInvoiceStyle = [UIButton buttonWithType:UIButtonTypeCustom];
  184. _btnInvoiceStyle.frame=CGRectMake(CGRectGetMaxX(lblEndDate.frame)+10, 16, 150, 25);
  185. _btnInvoiceStyle.titleLabel.font=orderTextFont;
  186. _btnInvoiceStyle.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  187. [_btnInvoiceStyle setTitle:@"请选择票据样式" forState:UIControlStateNormal];
  188. [_btnInvoiceStyle setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
  189. [vInvoiceStyle addSubview:_btnInvoiceStyle];
  190. [_btnInvoiceStyle addTarget:self action:@selector(selectInvoiceStyle) forControlEvents:UIControlEventTouchUpInside];
  191. UIImageView *invoiceStyleImg = [[UIImageView alloc] initWithFrame:CGRectMake(Screen_Width-25, 20,7,12)];
  192. [invoiceStyleImg setImage:[UIImage imageNamed:@"rightarrow"] ];
  193. [vInvoiceStyle addSubview:invoiceStyleImg];
  194. UIView *separator3 = [UIView new];
  195. separator3.backgroundColor=LineBackgroundColor;
  196. separator3.frame=CGRectMake(CGRectGetMaxX( lblInvoiceStyle.frame)+10,CGRectGetMaxY(_btnInvoiceStyle.frame)+10,Screen_Width-CGRectGetMaxX( lblInvoiceStyle.frame)+10, 1);
  197. [vInvoiceStyle addSubview:separator3];
  198. [_headerView addSubview:vInvoiceStyle];
  199. UIView *vTelephone = [UIView new];
  200. vTelephone.frame=CGRectMake(0,CGRectGetMaxY(vInvoiceStyle.frame),Screen_Width, 51);
  201. [_headerView addSubview:vTelephone];
  202. UILabel *lblTelephone = [UILabel new];
  203. lblTelephone.frame=CGRectMake(15, 16, 100, 25);
  204. lblTelephone.text = @"联系电话";
  205. lblTelephone.font=orderTextFont;
  206. [vTelephone addSubview: lblTelephone];
  207. _txtTelephone = [UITextField new];
  208. _txtTelephone.tag=1302;
  209. _txtTelephone.keyboardType = UIKeyboardTypeNumberPad;
  210. _txtTelephone.frame=CGRectMake(CGRectGetMaxX(lblTelephone.frame)+10, 16, 150, 25);
  211. _txtTelephone.placeholder = @"请输入联系电话";
  212. _txtTelephone.font=orderTextFont;
  213. [vTelephone addSubview:_txtTelephone];
  214. UIView *separator4 = [UIView new];
  215. separator4.backgroundColor=LineBackgroundColor;
  216. separator4.frame=CGRectMake(CGRectGetMaxX(lblTelephone.frame)+10,CGRectGetMaxY(_txtTelephone.frame)+10,Screen_Width-CGRectGetMaxX(lblTelephone.frame)+10, 1);
  217. [vTelephone addSubview:separator4];
  218. [_headerView addSubview:vTelephone];
  219. UIView *vContacts = [UIView new];
  220. vContacts.frame=CGRectMake(0,CGRectGetMaxY(vTelephone.frame),Screen_Width, 51);
  221. [_headerView addSubview:vTelephone];
  222. UILabel *lblContacts = [UILabel new];
  223. lblContacts.frame=CGRectMake(15, 16, 100, 25);
  224. lblContacts.text = @"联 系 人";
  225. lblContacts.font=orderTextFont;
  226. [vContacts addSubview: lblContacts];
  227. _txtContacts = [UITextField new];
  228. _txtContacts.tag=1302;
  229. _txtContacts.frame=CGRectMake(CGRectGetMaxX(lblContacts.frame)+10, 16, 150, 25);
  230. _txtContacts.placeholder = @"请输入联系人";
  231. _txtContacts.font=orderTextFont;
  232. [vContacts addSubview:_txtContacts];
  233. UIView *separator5 = [UIView new];
  234. separator5.backgroundColor=LineBackgroundColor;
  235. separator5.frame=CGRectMake(CGRectGetMaxX(lblContacts.frame)+10,CGRectGetMaxY(_txtContacts.frame)+10,Screen_Width-CGRectGetMaxX(lblContacts.frame)+10, 1);
  236. [vContacts addSubview:separator5];
  237. [_headerView addSubview:vContacts];
  238. UIView *vStaff = [UIView new];
  239. vStaff.frame=CGRectMake(0,CGRectGetMaxY(vContacts.frame),Screen_Width, 51);
  240. [_headerView addSubview:vStaff];
  241. UILabel *lblStaff = [UILabel new];
  242. lblStaff.frame=CGRectMake(15, 16, 100, 25);
  243. lblStaff.text = @"业务员";
  244. lblStaff.textColor=[UIColor redColor];
  245. lblStaff.font=orderTextFont;
  246. [vStaff addSubview:lblStaff];
  247. _btnStaff = [UIButton buttonWithType:UIButtonTypeCustom];
  248. _btnStaff.frame=CGRectMake(CGRectGetMaxX(lblEndDate.frame)+10, 16, 150, 25);
  249. _btnStaff.titleLabel.font=orderTextFont;
  250. _btnStaff.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  251. [_btnStaff setTitle:@"请选择业务员" forState:UIControlStateNormal];
  252. [_btnStaff setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
  253. [vStaff addSubview:_btnStaff];
  254. [_btnStaff addTarget:self action:@selector(selectStaff) forControlEvents:UIControlEventTouchUpInside];
  255. UIImageView *staffImg = [[UIImageView alloc] initWithFrame:CGRectMake(Screen_Width-25, 20,7,12)];
  256. [staffImg setImage:[UIImage imageNamed:@"rightarrow"] ];
  257. [vStaff addSubview:staffImg];
  258. UIView *separator6 = [UIView new];
  259. separator6.backgroundColor=LineBackgroundColor;
  260. separator6.frame=CGRectMake(CGRectGetMaxX( lblStaff.frame)+10,CGRectGetMaxY(_btnStaff.frame)+10,Screen_Width-CGRectGetMaxX( lblStaff.frame)+10, 1);
  261. [vStaff addSubview:separator6];
  262. [_headerView addSubview:vStaff];
  263. UIView *vFreezeReason=[UIView new];
  264. vFreezeReason.frame=CGRectMake(0,CGRectGetMaxY(vStaff.frame),Screen_Width, 51);
  265. [_headerView addSubview:vFreezeReason];
  266. UILabel *lblFreezeReason = [UILabel new];
  267. lblFreezeReason.frame=CGRectMake(15, 16, 100, 25);
  268. lblFreezeReason.text = @"冻结原因";
  269. lblFreezeReason.textColor=[UIColor blackColor];
  270. lblFreezeReason.font=orderTextFont;
  271. [vFreezeReason addSubview:lblFreezeReason];
  272. _btnFreezeReason = [UIButton buttonWithType:UIButtonTypeCustom];
  273. _btnFreezeReason.frame=CGRectMake(CGRectGetMaxX(lblFreezeReason.frame)+10, 16, 150, 25);
  274. _btnFreezeReason.titleLabel.font=orderTextFont;
  275. _btnFreezeReason.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  276. [_btnFreezeReason setTitle:@"请选择冻结原因" forState:UIControlStateNormal];
  277. [_btnFreezeReason setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
  278. [vFreezeReason addSubview:_btnFreezeReason];
  279. [_btnFreezeReason addTarget:self action:@selector(selectFreezeReason)
  280. forControlEvents:UIControlEventTouchUpInside];
  281. UIImageView *freezeReasonImg = [[UIImageView alloc] initWithFrame:CGRectMake(Screen_Width-25, 20,7,12)];
  282. [freezeReasonImg setImage:[UIImage imageNamed:@"rightarrow"] ];
  283. [vFreezeReason addSubview:freezeReasonImg];
  284. UIView *separator7 = [UIView new];
  285. separator7.backgroundColor=LineBackgroundColor;
  286. separator7.frame=CGRectMake(CGRectGetMaxX( lblFreezeReason.frame)+10,CGRectGetMaxY(_btnFreezeReason.frame)+10,Screen_Width-CGRectGetMaxX( lblStaff.frame)+10, 1);
  287. [vFreezeReason addSubview:separator7];
  288. [_headerView addSubview:vFreezeReason];
  289. UIView *vRemarks = [UIView new];
  290. vRemarks.frame=CGRectMake(0,CGRectGetMaxY(vFreezeReason.frame),Screen_Width, 51);
  291. [_headerView addSubview:vRemarks];
  292. UILabel *lblRemarks = [UILabel new];
  293. lblRemarks.frame=CGRectMake(15, 16, 100, 25);
  294. lblRemarks.text = @"备注";
  295. lblRemarks.font=orderTextFont;
  296. [vRemarks addSubview: lblRemarks];
  297. _txtRemarks = [UITextField new];
  298. _txtRemarks.tag=1302;
  299. _txtRemarks.keyboardType = UIKeyboardTypeNumberPad;
  300. _txtRemarks.frame=CGRectMake(CGRectGetMaxX(lblRemarks.frame)+10, 16, 150, 25);
  301. _txtRemarks.placeholder = @"请输入备注";
  302. _txtRemarks.font=orderTextFont;
  303. [vRemarks addSubview:_txtRemarks];
  304. [_headerView addSubview:vRemarks];
  305. _headerView.frame=CGRectMake(0, 0, Screen_Width, CGRectGetMaxY(vRemarks.frame));
  306. _tableView.tableHeaderView=_headerView;
  307. if(_submitInventoryGoodsList!=nil&&_submitInventoryGoodsList.count>0)
  308. {
  309. [_tableView reloadData];
  310. }
  311. //提交订单
  312. _btnSubmit = [UIButton buttonWithType:UIButtonTypeCustom];
  313. _btnSubmit.frame=CGRectMake(0,Screen_Height-40-rectStatusHeight-rectNavHeight, Screen_Width, 40);
  314. [_btnSubmit setBackgroundImage:[UIImage imageNamed:@"bt_datasave"] forState:UIControlStateNormal];
  315. [_btnSubmit addTarget:self action:@selector(reallySubmitOrder) forControlEvents:UIControlEventTouchUpInside];
  316. [self.view addSubview:_btnSubmit];
  317. }
  318. -(void)selectEndDate
  319. {
  320. _brDatePicker = [BRDatePickerView PickerAlertWithTitle:@""];
  321. [_brDatePicker configureSelectionBlock:^(NSString *date){
  322. self->_endDate=date;
  323. } andCompletionBlock:^(void){
  324. [self->_btnEndDate setTitle:self->_endDate forState:UIControlStateNormal];
  325. } andCancelBlock:^(void){
  326. self->_endDate=self->_btnEndDate.titleLabel.text;
  327. }];
  328. [_brDatePicker show];
  329. }
  330. -(void)selectFreezeReason
  331. {
  332. FreezeReasonViewController *reasonVc=[[ FreezeReasonViewController alloc] init];
  333. reasonVc.inventoryDelegate=self;
  334. [self.navigationController pushViewController:reasonVc animated:YES];
  335. }
  336. -(void)selectInvoiceStyle
  337. {
  338. InvoiceStyleViewController *styleVC = [[ InvoiceStyleViewController alloc] init];
  339. styleVC.inventoryDelegate=self;
  340. [self.navigationController pushViewController:styleVC animated:YES];
  341. }
  342. -(void)reallySubmitOrder
  343. {
  344. if(_cusCode==nil||[_cusCode isEqualToString:@""])
  345. {
  346. [self showAlertViewText:@"请选择客户编码"];
  347. return;
  348. }
  349. if(_endDate==nil||[_endDate isEqualToString:@""])
  350. {
  351. [self showAlertViewText:@"请选择截止日期"];
  352. return;
  353. }
  354. if(_staffName==nil||[_staffName isEqualToString:@""])
  355. {
  356. [self showAlertViewText:@"请选择业务员"];
  357. return;
  358. }
  359. if(_submitInventoryGoodsList!=nil&&_submitInventoryGoodsList.count>0)
  360. {
  361. for(int i=0;i<_submitInventoryGoodsList.count;i++)
  362. {
  363. InventoryGoodsModel *goodsModel= [_submitInventoryGoodsList objectAtIndex:i];
  364. NSString *unfreezeQuantity=goodsModel.unfreezeQuantity;
  365. NSString *freezeQuantityDataSource=(goodsModel.freezeQuantityDataSource==nil||[goodsModel.freezeQuantityDataSource isEqualToString:@""])?@"":goodsModel.freezeQuantityDataSource;
  366. if([unfreezeQuantity doubleValue]==0)
  367. {
  368. [self showAlertViewText:@"冻结量不能小于等于0"];
  369. return;
  370. }
  371. if([unfreezeQuantity doubleValue]>[goodsModel.balanceQuantity doubleValue]+[goodsModel.freezeQuantityDataSource doubleValue])
  372. {
  373. [self showAlertViewText:@"冻结量不能大于可售量"];
  374. return;
  375. }
  376. }
  377. }
  378. _downManager = [[ASIDownManager alloc] init];
  379. _downManager.delegate = self;
  380. _downManager.onRequestSuccess = @selector(onSubmitOrderLoadFinish:);
  381. _downManager.onRequestFail = @selector(onSubmitOrderLoadFail:);
  382. NSString *urlStr = ServerURL;
  383. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  384. [dict setObject:@"SaveFreezeDataIPhone" forKey:@"Action"];
  385. [dict setObject:[NSString stringWithFormat:@"%@",kkAccountCode]forKey:@"AccountCode"];
  386. [dict setObject:kkUserCode forKey:@"UserCode"];
  387. [dict setObject:kkUserPwd forKey:@"UserPassword"];
  388. [dict setObject:kkSessionKey forKey:@"SessionKey"];
  389. [dict setObject:_txtTelephone.text forKey:@"Telephone"];
  390. [dict setObject:_txtContacts.text forKey:@"Contacts"];
  391. [dict setObject:_txtRemarks.text forKey:@"Remarks"];
  392. [dict setObject:(_freezeReasonName==nil?@"":_freezeReasonName) forKey:@"FreezeReason"];
  393. [dict setObject:_cusId forKey:@"CustomerID"];
  394. [dict setObject:_cusCode forKey:@"CustomerCode"];
  395. [dict setObject:_cusName forKey:@"CustomerName"];
  396. [dict setObject:_staffId forKey:@"StaffID"];
  397. [dict setObject:_endDate forKey:@"FreezePeriod"];
  398. [dict setObject:(_styleId==nil?@"":_styleId) forKey:@"InvoiceLayoutID"];
  399. NSMutableArray *unfreezeArray = [[NSMutableArray alloc]init];
  400. if(_submitInventoryGoodsList!=nil&&_submitInventoryGoodsList.count>0)
  401. {
  402. for(int i=0;i<_submitInventoryGoodsList.count;i++)
  403. {
  404. InventoryGoodsModel *goodsModel= [_submitInventoryGoodsList objectAtIndex:i];
  405. NSMutableDictionary *unfreezeDic=[NSMutableDictionary new];
  406. NSString *detailId= goodsModel.detailId;
  407. NSString *status=goodsModel.status;
  408. NSString *codeId=goodsModel.codeId;
  409. NSString *code=goodsModel.code;
  410. NSString *inventoryId=goodsModel.inventoryId;
  411. NSString *onlyCode=goodsModel.onlyCode;
  412. NSString *brandId=goodsModel.brandId;
  413. NSString *brandName=goodsModel.brandName;
  414. NSString *kindId=goodsModel.kindId;
  415. NSString *kindName=goodsModel.kindName;
  416. NSString *varietyId=goodsModel.varietyId;
  417. NSString *varietyName=goodsModel.varietyName;
  418. NSString *seriesId=goodsModel.seriesId;
  419. NSString *seriesName=goodsModel.seriesName;
  420. NSString *unitId=goodsModel.unitId;
  421. NSString *unitName=goodsModel.unitName;
  422. NSInteger package=goodsModel.package;
  423. NSString *weight=goodsModel.weight;
  424. NSString *gradeId=goodsModel.gradeId;
  425. NSString *gradeName=goodsModel.gradeName;
  426. NSString *specification=goodsModel.specification;
  427. NSString *colorNumber=goodsModel.colorNumber;
  428. NSString *warehouseId=goodsModel.warehouseId;
  429. NSString *positionNumber=goodsModel.positionNumber;
  430. NSString *unfreezeQuantity=goodsModel.unfreezeQuantity;
  431. NSString *unfrozenQuantity=goodsModel.unfrozenQuantity==nil?@"0":goodsModel.unfrozenQuantity;
  432. NSString *freezeQuantity=goodsModel.freezeQuantity;
  433. NSString *remarks=goodsModel.remarks==nil?@"":goodsModel.remarks;
  434. NSString *freezeQuantityDataSource=goodsModel.freezeQuantityDataSource==nil?@"0":goodsModel.freezeQuantityDataSource;
  435. [unfreezeDic setObject:freezeQuantityDataSource forKey:@"FreezeQuantitysDataSoure"];
  436. if(_editFlag)
  437. {
  438. [unfreezeDic setObject:detailId forKey:@"DetailID"];
  439. [unfreezeDic setObject:status forKey:@"Status"];
  440. }
  441. [unfreezeDic setObject:codeId forKey:@"CodeID"];
  442. [unfreezeDic setObject:code forKey:@"Code"];
  443. [unfreezeDic setObject:inventoryId forKey:@"InventoryID"];
  444. [unfreezeDic setObject:onlyCode forKey:@"OnlyCode"];
  445. [unfreezeDic setObject:brandId forKey:@"BrandID"];
  446. [unfreezeDic setObject:brandName forKey:@"BrandName"];
  447. [unfreezeDic setObject:kindId forKey:@"KindID"];
  448. [unfreezeDic setObject:kindName forKey:@"KindName"];
  449. [unfreezeDic setObject:varietyId forKey:@"VarietyID"];
  450. [unfreezeDic setObject:varietyName forKey:@"VarietyName"];
  451. [unfreezeDic setObject:seriesId forKey:@"SeriesID"];
  452. [unfreezeDic setObject:seriesName forKey:@"SeriesName"];
  453. [unfreezeDic setObject:unitId forKey:@"UnitID"];
  454. [unfreezeDic setObject:unitName forKey:@"UnitName"];
  455. [unfreezeDic setObject:[NSString stringWithFormat:@"%ld",package] forKey:@"Package"];
  456. [unfreezeDic setObject:weight forKey:@"Weight"];
  457. [unfreezeDic setObject:gradeId forKey:@"GradeID"];
  458. [unfreezeDic setObject:gradeName forKey:@"GradeName"];
  459. [unfreezeDic setObject:specification forKey:@"Specification"];
  460. [unfreezeDic setObject:colorNumber forKey:@"ColorNumber"];
  461. [unfreezeDic setObject:warehouseId forKey:@"WarehouseID"];
  462. [unfreezeDic setObject:positionNumber forKey:@"PositionNumber"];
  463. //冻结量
  464. [unfreezeDic setObject:unfreezeQuantity forKey:@"FreezeQuantitys"];
  465. [unfreezeDic setObject:unfrozenQuantity forKey:@"UnFreezeQuantity"];
  466. [unfreezeDic setObject:freezeQuantity forKey:@"FreezeQuantity"];
  467. [unfreezeDic setObject:(status==nil?@"2":status) forKeyedSubscript:@"Status"];
  468. [unfreezeDic setObject:(remarks==nil? @"":remarks) forKey:@"Remarks"];
  469. [unfreezeArray addObject:unfreezeDic];
  470. }
  471. SBJsonWriter *write = [[SBJsonWriter alloc] init];
  472. NSString *value = [write stringWithObject:unfreezeArray];
  473. [dict setObject:value forKey:@"FreezeDetailDataTable"];
  474. [_downManager postHttpRequest:urlStr dic:dict path:nil fileName:nil];
  475. }
  476. }
  477. /**
  478. 隐藏进度条
  479. */
  480. - (void)cancel {
  481. [self stopLoading];
  482. }
  483. -(void)onSubmitOrderLoadFinish:(ASIDownManager*)sender {
  484. [self cancel];
  485. RequestResultModel *resultModel = [RequestResultModel dk_modelWithJSON:sender.mWebStr];
  486. int iStatus = resultModel.status;
  487. // 服务器返回数据消息
  488. NSString *message = resultModel.message;
  489. if(iStatus==0)
  490. {
  491. UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"提示" message:@"保存成功" preferredStyle:UIAlertControllerStyleAlert];
  492. UIAlertAction *otherAction = [UIAlertAction actionWithTitle:@"确定"
  493. style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
  494. if([self.inventoryDelegate respondsToSelector:@selector(refreshData)])
  495. {
  496. [self.inventoryDelegate refreshData];
  497. } [self goBack];
  498. }];
  499. UIColor *sureColor = [UIColor redColor];
  500. [otherAction setValue:sureColor forKey:@"titleTextColor"];
  501. [alertController addAction:otherAction];
  502. [self presentViewController:alertController animated:YES completion:nil];
  503. }
  504. else if(iStatus == ActionResultStatusAuthError
  505. ||iStatus == ActionResultStatusNoLogin
  506. ||iStatus == ActionResultStatusLogined||iStatus==ActionResultSessionOverdue){
  507. [self showReLoginDialog:message];
  508. }
  509. else{
  510. [self showAlertViewText:message];
  511. return;
  512. }
  513. }
  514. -(void)onSubmitOrderLoadFail:(ASIDownManager *)sender {
  515. [self cancel];
  516. [self showAlertViewText:@"网络异常"];
  517. }
  518. -(void)onEditDataLoadFinish:(ASIDownManager*)sender {
  519. [self cancel];
  520. RequestResultModel *resultModel = [RequestResultModel dk_modelWithJSON:sender.mWebStr];
  521. int iStatus = resultModel.status;
  522. // 服务器返回数据消息
  523. NSString *message = resultModel.message;
  524. if(iStatus==0)
  525. {
  526. NSDictionary *resultDic=(NSDictionary*)resultModel.result;
  527. NSArray *headArray=[resultDic objectForKey:@"Table"];
  528. NSArray *detailArray=[resultDic objectForKey:@"Table1"];
  529. if(headArray!=nil&&headArray.count>0)
  530. {
  531. NSDictionary *headDic= [headArray objectAtIndex:0];
  532. _cusId =[headDic objectForKey:@"CustomerID"];
  533. _cusCode =[headDic objectForKey:@"CustomerCode"];
  534. _cusName=[headDic objectForKey:@"CustomerName"];
  535. _statusId=[headDic objectForKey:@"StatusID"];
  536. _endDate=[headDic objectForKey:@"FreezePeriod"];
  537. _endDate= [DateFormat dateFormatSplit:_endDate];
  538. _styleId=[headDic objectForKey:@"InvoiceLayoutID"];
  539. NSString *invoiceLayoutName=[headDic objectForKey:@"InvoiceLayoutName"];
  540. NSString *telephone=[headDic objectForKey:@"Telephone"];
  541. NSString *contacts=[headDic objectForKey:@"Contacts"];
  542. _staffId=[headDic objectForKey:@"Salesman"];
  543. _staffName=[headDic objectForKey:@"StaffName"];
  544. _freezeReasonName=[headDic objectForKey:@"FreezeReason"];
  545. NSString *remarks=[headDic objectForKey:@"Remarks"];
  546. [_btnCustomerCode setTitle:_cusCode forState:UIControlStateNormal];
  547. [_btnEndDate setTitle:_endDate forState:UIControlStateNormal];
  548. if(_styleName!=nil||![_styleName isEqualToString:@""])
  549. {
  550. [_btnInvoiceStyle setTitle:_styleName forState:UIControlStateNormal];
  551. }
  552. if(telephone!=nil||![telephone isEqualToString:@""])
  553. {
  554. _txtTelephone.text=telephone;
  555. }
  556. if(contacts!=nil||![contacts isEqualToString:@""])
  557. {
  558. _txtContacts.text=contacts;
  559. }
  560. [_btnStaff setTitle:_staffName forState:UIControlStateNormal];
  561. if(_freezeReasonName!=nil||![_freezeReasonName isEqualToString:@""])
  562. {
  563. [_btnFreezeReason setTitle:_freezeReasonName forState:UIControlStateNormal];
  564. }
  565. if(remarks!=nil||![remarks isEqualToString:@""])
  566. {
  567. _txtRemarks.text=remarks;
  568. }
  569. }
  570. if(detailArray!=nil&&detailArray.count>0)
  571. {
  572. _submitInventoryGoodsList=[[NSMutableArray alloc]init];
  573. for(int i=0;i<detailArray.count;i++)
  574. {
  575. NSDictionary *detailDic=[detailArray objectAtIndex:i];
  576. NSString *inventoryId=[detailDic objectForKey:@"InventoryID"];
  577. NSString *detailId=[detailDic objectForKey:@"DetailID"];
  578. NSString *codeId=[detailDic objectForKey:@"CodeID"];
  579. NSString *code=[detailDic objectForKey:@"Code"];
  580. NSString *onlyCode=[detailDic objectForKey:@"OnlyCode"];
  581. NSString *brandId=[detailDic objectForKey:@"BrandID"];
  582. NSString *brandName=[detailDic objectForKey:@"BrandName"];
  583. NSString *kindId=[detailDic objectForKey:@"KindID"];
  584. NSString *kindName=[detailDic objectForKey:@"KindName"];
  585. NSString *varietyId=[detailDic objectForKey:@"VarietyID"];
  586. NSString *varietyName=[detailDic objectForKey:@"VarietyName"];
  587. NSString *seriesId=[detailDic objectForKey:@"SeriesID"];
  588. NSString *seriesName=[detailDic objectForKey:@"SeriesName"];
  589. NSString *unitId=[detailDic objectForKey:@"UnitID"];
  590. NSString *unitName=[detailDic objectForKey:@"UnitName"];
  591. NSString *colorNumber=[detailDic objectForKey:@"ColorNumber"];
  592. NSInteger package=[[detailDic objectForKey:@"Package"]integerValue];
  593. NSString *statusValue=[detailDic objectForKey:@"Status"];
  594. double weight=[[detailDic objectForKey:@"Weight"]doubleValue];
  595. double volume=[[detailDic objectForKey:@"Volume"]doubleValue];
  596. int circulateType=[[detailDic objectForKey:@"CirculateType"]doubleValue];
  597. // NSString *circulateTypeName=[detailDic objectForKey:@"GoodsCirculateTypeName"];
  598. NSString *gradeId=[detailDic objectForKey:@"GradeID"];
  599. NSString *gradeName=[detailDic objectForKey:@"GradeName"];
  600. NSString *specification=[detailDic objectForKey:@"Specification"];
  601. NSString *warehouseId=[detailDic objectForKey:@"WarehouseID"];
  602. NSString *warehouseName=[detailDic objectForKey:@"WarehouseName"];
  603. NSString *positionNumber=[detailDic objectForKey:@"PositionNumber"];
  604. double freezeQuantitys=[[detailDic objectForKey:@"FreezeQuantitys"]doubleValue];
  605. double freezeQuantity=[[detailDic objectForKey:@"FreezeQuantity"]doubleValue];
  606. double unfreezeQuantity=[[detailDic objectForKey:@"UnFreezeQuantity"]doubleValue];
  607. int decimalPlaces=[[detailDic objectForKey:@"DecimalPlaces"]intValue];
  608. double acreage=[[detailDic objectForKey:@"Acreage"]doubleValue];
  609. NSString *expandAttribute=[detailDic objectForKey:@"ExpandAttribute"];
  610. NSString *expandAttribute2=[detailDic objectForKey:@"ExpandAttribute2"];
  611. double inventoryQuantity=[[detailDic objectForKey:@"InventoryQuantity"]doubleValue];
  612. double balanceQuantity=[[detailDic objectForKey:@"BalanceQuantity"]doubleValue];
  613. double freezeQuantityDataSource=[[detailDic objectForKey:@"FreezeQuantitysDataSoure"]doubleValue];
  614. InventoryGoodsModel *goodsModel=[InventoryGoodsModel new];
  615. [goodsModel setInventoryId:inventoryId];
  616. [goodsModel setDetailId:detailId];
  617. [goodsModel setCodeId:codeId];
  618. [goodsModel setCode:code];
  619. [goodsModel setOnlyCode:onlyCode];
  620. [goodsModel setBrandId:brandId];
  621. [goodsModel setBrandName:brandName];
  622. [goodsModel setKindId:kindId];
  623. [goodsModel setKindName:kindName];
  624. [goodsModel setVarietyId:varietyId];
  625. [goodsModel setVarietyName:varietyName];
  626. [goodsModel setSeriesId:seriesId];
  627. [goodsModel setSeriesName:seriesName];
  628. [goodsModel setUnitId:unitId];
  629. [goodsModel setUnitName:unitName];
  630. [goodsModel setColorNumber:colorNumber];
  631. [goodsModel setPackage:package];
  632. [goodsModel setStatus:statusValue];
  633. [goodsModel setWeight:[NSString stringWithFormat:@"%lf",weight]];
  634. [goodsModel setVolume:[NSString stringWithFormat:@"%lf",volume]];
  635. [goodsModel setCirculateType:circulateType];
  636. [goodsModel setGradeId:gradeId];
  637. [goodsModel setGradeName:gradeName];
  638. [goodsModel setSpecification:specification];
  639. [goodsModel setWarehouseId:warehouseId];
  640. [goodsModel setWarehouseName:warehouseName];
  641. [goodsModel setPositionNumber:positionNumber];
  642. [goodsModel setFreezeQuantity:[NSString stringWithFormat:@"%.lf",freezeQuantity]];
  643. [goodsModel setUnfreezeQuantity:[NSString stringWithFormat:@"%.lf",freezeQuantitys]];
  644. [goodsModel setUnfrozenQuantity:[NSString stringWithFormat:@"%.lf",unfreezeQuantity]];
  645. [goodsModel setDecimalPlaces:decimalPlaces];
  646. [goodsModel setAcreage:[NSString stringWithFormat:@"%.lf",acreage]];
  647. [goodsModel setExpandAttribute:expandAttribute];
  648. [goodsModel setExpandAttribute2:expandAttribute2];
  649. [goodsModel setInventoryQuantity:[NSString stringWithFormat:@"%.lf",inventoryQuantity]];
  650. [goodsModel setBalanceQuantity:[NSString stringWithFormat:@"%.lf",balanceQuantity]];
  651. [goodsModel setFreezeQuantityDataSource:[NSString stringWithFormat:@"%.lf",freezeQuantityDataSource]];
  652. OrderQuantity *quantity=[[OrderQuantity alloc]init];
  653. [quantity setUnfreezeBoxAndPiece:[goodsModel.unfreezeQuantity doubleValue] model:goodsModel];
  654. [_submitInventoryGoodsList addObject:goodsModel];
  655. }
  656. [_tableView reloadData];
  657. }
  658. }
  659. }
  660. -(void)onEditDataLoadFail:(ASIDownManager *)sender {
  661. [self cancel];
  662. [self showAlertViewText:@"网络异常"];
  663. }
  664. /**
  665. 单元格cell个数
  666. @param tableView <#tableView description#>
  667. @param section <#section description#>
  668. @return <#return value description#>
  669. */
  670. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  671. {
  672. return [_submitInventoryGoodsList count];
  673. }
  674. /**
  675. table view 分区数
  676. @param tableView <#tableView description#>
  677. @return <#return value description#>
  678. */
  679. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
  680. return 1;
  681. }
  682. /**
  683. cell 高度
  684. @param tableView <#tableView description#>
  685. @param indexPath <#indexPath description#>
  686. @return <#return value description#>
  687. */
  688. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  689. return [self.heights[@(indexPath.row)] doubleValue];;
  690. }
  691. /**
  692. 高度
  693. @return <#return value description#>
  694. */
  695. - (NSMutableDictionary *)heights{
  696. if (_heights == nil){
  697. _heights = [NSMutableDictionary dictionary];
  698. }
  699. return _heights;
  700. }
  701. /**
  702. 预防高度
  703. @param tableView <#tableView description#>
  704. @param indexPath <#indexPath description#>
  705. @return <#return value description#>
  706. */
  707. -(CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath{
  708. return 250;
  709. }
  710. /**
  711. 每个单元格cell
  712. @param tableView <#tableView description#>
  713. @param indexPath <#indexPath description#>
  714. @return <#return value description#>
  715. */
  716. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  717. {
  718. static NSString *cellIdentifier = @"NewInventoryFreezeGoodsListCell";
  719. NewInventoryFreezeGoodsListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ];
  720. cell = [[NewInventoryFreezeGoodsListCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
  721. cell.selectionStyle=UITableViewCellSelectionStyleNone;
  722. InventoryGoodsModel *inventoryGoodsModel= [_submitInventoryGoodsList objectAtIndex:indexPath.row];
  723. [cell setInventoryFreezeGoodsListCell:&inventoryGoodsModel];
  724. cell.position=indexPath.row;
  725. self.heights[@(indexPath.row)] = @(cell.height);
  726. return cell;
  727. }
  728. -(void)searchCustomerCode
  729. {
  730. CustomerCodeSearchVC *customerCodeVC = [[ CustomerCodeSearchVC alloc] init];
  731. customerCodeVC.orderDelegate=self;
  732. [self.navigationController pushViewController:customerCodeVC animated:YES];
  733. }
  734. /**
  735. 业务员查询
  736. */
  737. - (void)selectStaff
  738. {
  739. SalesManSearchVC *salesman = [[SalesManSearchVC alloc] init];
  740. salesman.salesmanDelegate=self;
  741. salesman.subview=YES;
  742. [self.navigationController pushViewController:salesman animated:YES];
  743. }
  744. -(void)getInvoiceStyle:(NSString*)invoiceStyleId name:(NSString*)invoiceStyleName
  745. {
  746. _styleId=invoiceStyleId;
  747. _styleName=invoiceStyleName;
  748. [_btnInvoiceStyle setTitle:_styleName forState:UIControlStateNormal];
  749. [_btnInvoiceStyle setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  750. }
  751. -(void)getFreezeReason:(NSString*)reasonId name:(NSString*)reasonName
  752. {
  753. _freezeReasonId=reasonId;
  754. _freezeReasonName=reasonName;
  755. [_btnFreezeReason setTitle:_freezeReasonName forState:UIControlStateNormal];
  756. [_btnFreezeReason setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  757. }
  758. - (void)salesman:(NSString *)salesmanId salesmanName:(NSString *)salesmanName{
  759. [_btnStaff setTitle:salesmanName forState:UIControlStateNormal];
  760. [_btnStaff setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  761. _staffId=salesmanId;
  762. _staffName=salesmanName;
  763. }
  764. /**
  765. 文本回调
  766. @param sender
  767. @param code
  768. */
  769. - (void)textEnd:(id)sender customerCode:(NSString*)code
  770. customerId:(NSString*)customerId customerName:(NSString*)customerName
  771. {
  772. UIButton *btn=(UIButton *)sender;
  773. if(btn.tag == 1301) //客户编码
  774. {
  775. _cusId=customerId;
  776. _cusCode=code;
  777. _cusName=customerName;
  778. [_btnCustomerCode setTitle:_cusCode forState:UIControlStateNormal];
  779. }
  780. }
  781. -(void)goBack
  782. {
  783. [self.navigationController popViewControllerAnimated:YES];
  784. }
  785. @end