| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941 |
- //
- // NewStockingViewController.m
- // IBOSSmini
- //
- // Created by apple on 2017/5/17.
- // Copyright © 2017年 elongtian. All rights reserved.
- //
- #import "NewStockingViewController.h"
- #import "StockingGoodsListViewController.h"
- #import "BaseIDAndNameViewController.h"
- #import "ResponsiblePersonViewController.h"
- #import "ScanViewController.h"
- #import "RegularExpression.h"
- #import "ResponsiblePersonModel.h"
- #import "BaseIDAndNameModel.h"
- @interface NewStockingViewController ()<UITextFieldDelegate,DKScanDelegate,StockProtocol,BaseIDAndNameProtocol,ResponsiblePersonProtocol>
- {
- UIView *contentView;
- UIScrollView *scroll;
- BOOL isHaveDot;
- BOOL keyboardShow;
- UIButton *_btnSave;
- }
- /**
- 查询数据对象
- */
- @property(nonatomic,strong) ASIDownManager *downManager;
- /**
- 保存对象
- */
- @property(nonatomic,strong) ASIDownManager *saveManager;
- /**
- 盘亏原因数据
- */
- @property(nonatomic,strong) NSMutableArray *infoReasons;
- /**
- 责任人数据
- */
- @property(nonatomic,strong) NSMutableArray *infoPersons;
- @end
- @implementation NewStockingViewController
- /**
- viewDidLoad函数
- */
- - (void)viewDidLoad {
- [super viewDidLoad];
- [self showTitle:@"新增库存盘点"];
- [self initUI];
- [self initNotification];
- [self loadInitResposeData] ;
- }
- /**
- didReceiveMemoryWarning函数
- */
- - (void)didReceiveMemoryWarning {
- [super didReceiveMemoryWarning];
- }
- /**
- 安全区视图发生变化
- */
- -(void)viewSafeAreaInsetsDidChange{
- self.view.backgroundColor = [UIColor whiteColor];
-
- UIImage *pic=[UIImage imageNamed:@"bt_datasave"];
- CGFloat h = (Screen_Width-40)*pic.size.height/pic.size.width;
- _btnSave.frame=CGRectMake(20, self.view.safeAreaLayoutGuide.layoutFrame.size.height - h - 5, Screen_Width-2*20, h);
- scroll.frame = CGRectMake(0, 0,self.view.safeAreaLayoutGuide.layoutFrame.size.width, self.view.safeAreaLayoutGuide.layoutFrame.size.height-h-5);
- [super viewSafeAreaInsetsDidChange];
- }
- /**
- viewWillDisappear函数
- */
- -(void)viewWillDisappear:(BOOL)animated
- {
- [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification
- object:nil];
- [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification
- object:nil];
- }
- /**
- viewDidAppear函数
- */
- -(void)viewDidAppear:(BOOL)animated{
- [super viewDidAppear:animated];
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillShow)
- name:UIKeyboardWillShowNotification
- object:nil];
-
- [[NSNotificationCenter defaultCenter] addObserver:self
- selector:@selector(keyboardWillHide)
- name:UIKeyboardWillHideNotification
- object:nil];
- }
- /**
- dealloc函数
- */
- -(void)dealloc{
- [[NSNotificationCenter defaultCenter]removeObserver:self name:@"UITextFieldTextDidChangeNotification" object:self.txtStockingQuantity];
- }
- #pragma mark - 属性
- /**
- 责任人数据源
-
- @return <#return value description#>
- */
- - (NSMutableArray *)infoPersons{
- if (_infoPersons==nil) {
- _infoPersons = [NSMutableArray new];
- }
- return _infoPersons;
- }
- /**
- 盘亏原因数据源
-
- @return <#return value description#>
- */
- - (NSMutableArray *)infoReasons{
- if (_infoReasons==nil) {
- _infoReasons = [NSMutableArray new];
- }
- return _infoReasons;
- }
- #pragma mark - 委托回调函数
- /**
- 责任人
-
- @param item <#item description#>
- */
- - (void)updateResponsiblePerson:(ResponsiblePersonModel *)item{
- self.sResponseiblePerson = item.staffID;
- [self.responseiblePerson setTitle:item.staffName forState:UIControlStateNormal];
- }
- /**
- 盘亏原因
-
- @param model <#model description#>
- @param value <#value description#>
- */
- - (void)baseIDAndNameDoneDatas:(BaseIDAndNameModel *)model BaseIDAndName:(baseIdAndName)value{
- self.sResponseibleReason = model.id;
- [self.responseibleReason setTitle:model.name forState:UIControlStateNormal];
- }
- /**
- 选取商品信息后回调
-
- @param model <#model description#>
- */
- - (void)stockTextDoneDatas:(StockingModel *)model{
- self.inventoryId = model.inventoryID;
- self.codeId = model.codeID;
- self.onlyCode.text = model.onlyCode;
- self.txtOnlyCode.text = model.onlyCode;
- self.warehouseName.text = model.warehouseName;
- self.specification.text = model.specification;
- self.gradeName.text = model.gradeName;
- self.colorNumber.text = model.colorNumber;
- self.positionNumber.text = model.positionNumber;
- [self.responseibleReason setTitle:@"请选择盘亏原因" forState:UIControlStateNormal];
- [self.responseiblePerson setTitle:@"请选择责任人" forState:UIControlStateNormal];
- self.sResponseiblePerson = @"";
- self.sResponseibleReason = @"";
- self.quantity.text = model.quantity;
- self.txtStockingQuantity.text = @"";
- self.canSaleQuantity.text = model.balanceQuantity;
- }
- /**
- 根据唯一编码查询商品信息
-
- @param code <#code description#>
- */
- -(void)reloadDataWithOnlyCode:(NSString *)code
- {
- self.txtOnlyCode.text = code;
- self.sCode = code;
- double delayInSeconds = 0.5;
- dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
- dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
- //刷新
- [self loadData];
- });
- }
- /**
- 文本框的长度限制 实现监听方法
-
- @return <#return value description#>
- */
- - (void)onFocusPeopleEditingChanged:(NSNotification *)sender
- {
-
- UITextField *textField = (UITextField *)sender.object;
- NSString *toBeString = textField.text;
- if ([textField isEqual:self.txtOnlyCode ]) {
- return;
- }
-
- NSString *lang = [[[UIApplication sharedApplication] textInputMode] primaryLanguage];// [[UITextInputMode currentInputMode] primaryLanguage];
- int kMaxLength=0;
- //费用
- if ([textField isEqual:self.txtStockingQuantity ]) {
- kMaxLength=17;
-
- if (toBeString!=nil && toBeString.length>0 && [toBeString floatValue]-9999999999.999999f>0.0000000001f) {
- textField.text =@"9999999999.999999";
- toBeString=@"9999999999.999999";
- }
- }
-
- if ([lang isEqualToString:@"zh-Hans"]) {
- UITextRange *selectedRange = [textField markedTextRange];
- UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];
-
- if (!position) {
- if (toBeString.length > kMaxLength) {
- textField.text = [toBeString substringToIndex:kMaxLength];
- }
- }
- }else{
- if (toBeString.length > kMaxLength) {
- textField.text = [toBeString substringToIndex:kMaxLength];
- }
- }
- }
- /**
- 回车事件
-
- @param textField <#textField description#>
- @return <#return value description#>
- */
- -(BOOL)textFieldShouldReturn:(UITextField *)textField{
- if ([textField isEqual:self.txtOnlyCode] && textField.text!=nil
- && [textField.text length]>0) {
- self.sCode = textField.text;
- [self loadData];
- [self.txtOnlyCode resignFirstResponder];
- return NO;
- }
-
- return YES;
- }
- /**
- 限制用户输入小数点后位数的方法
-
- @param textField <#textField description#>
- @param range <#range description#>
- @param string <#string description#>
- @return <#return value description#>
- */
- -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
-
- if ([textField isEqual:self.txtOnlyCode]){
- return YES;
- }
-
- if ([textField.text rangeOfString:@"."].location == NSNotFound) {
- isHaveDot = NO;
- }
- if ([string length] > 0) {
-
- unichar single = [string characterAtIndex:0];//当前输入的字符
- if ((single >= '0' && single <= '9') || single == '.') {//数据格式正确
-
- //首字母不能为0和小数点
- if([textField.text length] == 0){
- if(single == '.') {
- [self showAlertViewText:@"第一个数字不能为小数点"];
- [textField.text stringByReplacingCharactersInRange:range withString:@""];
- return NO;
- }
- if (single == '0') {
- // [self showAlertViewText:@"第一个数字不能为0"];
- // [textField.text stringByReplacingCharactersInRange:range withString:@""];
- // return NO;
- }
- }
- if([textField.text length] == 1 && [[textField.text substringToIndex:1] isEqualToString: @"0"]){
- if(!(single == '.')) {
- [textField.text stringByReplacingCharactersInRange:range withString:@""];
- return NO;
- }
-
- }
-
- //输入的字符是否是小数点
- if (single == '.') {
- if(!isHaveDot)//text中还没有小数点
- {
- isHaveDot = YES;
- return YES;
-
- }else{
- [self showAlertViewText:@"您已经输入过小数点了"];
- [textField.text stringByReplacingCharactersInRange:range withString:@""];
- return NO;
- }
- }else{
- if (isHaveDot) {//存在小数点
-
- //判断小数点的位数
- NSRange ran = [textField.text rangeOfString:@"."];
- if (range.location - ran.location <= 6) {
- return YES;
- }else{
- //[self showAlertViewText:@"亲,您最多输入两位小数"];
- return NO;
- }
- }else{
- return YES;
- }
- }
- }else{//输入的数据格式不正确
- [self showAlertViewText:@"您输入的格式不正确"];
- [textField.text stringByReplacingCharactersInRange:range withString:@""];
- return NO;
- }
- }
- else
- {
- return YES;
- }
-
- }
- /**
- 成功回调函数
-
- @param sender <#sender description#>
- */
- - (void)onSaveSuccess:(ASIDownManager *)sender {
- // 服务器返回数据
- NSDictionary *dic = [sender.mWebStr JSONValue];
- [self Cancel];
- // 服务器返回数据是否正确
- if (dic && [dic isKindOfClass:[NSDictionary class]]) {
- // 服务器返回数据状态值
- int iStatus = [[dic objectForKey:@"Status"] intValue];
- // 服务器返回数据消息
- NSString *message=[dic objectForKey:@"Message"];
- // 服务器返回数据状态值正确
- if (iStatus == 0) {
- [self clearData];
- [self showAlertViewText:@"保存成功!"];
- // //关闭当前页面 刷新一览主界面
- // if ([self.stockdelegate respondsToSelector:@selector(refreshData)]) {
- // [self.stockdelegate performSelector:@selector(refreshData)];
- // }
- // [self.navigationController popViewControllerAnimated:YES];
-
- }
- // 服务器返回数据状态值异常
- else if(iStatus==ActionResultStatusAuthError
- ||iStatus==ActionResultStatusNoLogin
- ||iStatus==ActionResultStatusLogined ||iStatus == ActionResultStatusLoginedInvalid){
- [self showReLoginDialog:message];
- }
- else {
- [self showAlertViewText:message];
- }
-
- }
- }
- /**
- 盘亏原因,责任人数据成功回调
-
- @param sender <#sender description#>
- */
- - (void)onResposeSuccess:(ASIDownManager *)sender {
- // 服务器返回数据
- [self Cancel];
- NSDictionary *dic = [sender.mWebStr JSONValue];
- // 服务器返回数据是否正确
- if (dic && [dic isKindOfClass:[NSDictionary class]])
- {
- // 服务器返回数据状态值
- int iStatus = [[dic objectForKey:@"Status"] intValue];
- // 服务器返回数据消息
- NSString *message=[dic objectForKey:@"Message"];
- // 服务器返回数据状态值正确
- if (iStatus == 0)
- {
- NSDictionary *dicResult =[dic objectForKey:@"Result"];
- NSArray * reasonArr;
- NSArray * personArr;
-
- if(dicResult!=nil){
- // 盘亏原因
- reasonArr = [dicResult objectForKey:@"ShortageReason"];
- // 责任人
- personArr = [dicResult objectForKey:@"ResponsiblePerson"];
- }
- if(reasonArr != nil && reasonArr.count > 0)
- {
- for (int i = 0; i < reasonArr.count; i++) {
- NSDictionary *d = reasonArr[i];
- BaseIDAndNameModel *m = [[BaseIDAndNameModel alloc] init];
- m.id = [[d objectForKey:@"DictionaryID"] stringValue];
- m.name = [d objectForKey:@"DictionaryValue"];
- [self.infoReasons addObject:m];
- }
-
- }
- if(personArr != nil && personArr.count > 0)
- {
- for (int i = 0; i < personArr.count; i++) {
- NSDictionary *d = personArr[i];
- ResponsiblePersonModel *m = [[ResponsiblePersonModel alloc] init];
- m.staffID = [[d objectForKey:@"StaffID"] stringValue];
- m.staffCode = [d objectForKey:@"StaffCode"];
- m.staffName = [d objectForKey:@"StaffName"];
- [self.infoPersons addObject:m];
- }
- }
-
- }
- // 服务器返回数据状态值异常
- else if(iStatus==ActionResultStatusAuthError
- ||iStatus==ActionResultStatusNoLogin
- ||iStatus==ActionResultStatusLogined ||iStatus == ActionResultStatusLoginedInvalid){
- [self showReLoginDialog:message];
- }
- else{
- [self showAlertViewText:message];
- return;
- }
- }
-
- }
- /**
- 异常回调
-
- @param sender <#sender description#>
- */
- - (void)onFail:(ASIDownManager *)sender {
- [self Cancel];
- [self showAlertViewText:@"加载失败"];
- }
- #pragma mark - 私有函数
- /**
- 隐藏键盘
- */
- - (void)hideKey{
- [self.view endEditing:YES];
- }
- /**
- 隐藏进度条
- */
- - (void)Cancel {
- [self stopLoading];
- }
- /**
- 初始化ui
- */
- - (void)initUI{
- CGFloat heightRow = 40;
- CGFloat lblx = 20;
- CGFloat lblwidth = 80;
- CGFloat lblheight = 25;
-
- CGFloat valuex = 90;
- CGFloat valuey = 8;
- // CGFloat valuewidth = 120;
- CGFloat valueheight = 25;
-
- UIImage *pic=[UIImage imageNamed:@"bt_datasave"];
- CGFloat h = (Screen_Width-40)*pic.size.height/pic.size.width;
-
- scroll=[UIScrollView new];
- scroll.frame=CGRectMake(0, 0, Screen_Width, Screen_Height- h - 10 - rectStatusHeight-rectNavHeight);
- scroll.backgroundColor=[UIColor whiteColor];
- UITapGestureRecognizer* singleRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKey)];
- singleRecognizer.cancelsTouchesInView = NO;
- [scroll addGestureRecognizer:singleRecognizer];
- [self.view addSubview:scroll];
-
- contentView=[[UIView alloc]init];
- contentView.frame = scroll.frame;
-
- [scroll addSubview:contentView];
-
- //唯一编码==================
- UIView *vcode=[UIView new];
- vcode.frame=CGRectMake(0, 0, Screen_Width, 51);
- [contentView addSubview:vcode];
- UILabel *lblcode=[UILabel new];
- lblcode.frame=CGRectMake(lblx, 13, lblwidth, lblheight);
- lblcode.text=@"唯一编码:";
- lblcode.font= [UIFont systemFontOfSize:TextFontOfSize];
- [vcode addSubview:lblcode];
- self.txtOnlyCode=[UITextField new];
- self.txtOnlyCode.delegate=self;
- self.txtOnlyCode.placeholder=@"请输入或扫描唯一编码";
- self.txtOnlyCode.font= [UIFont systemFontOfSize:TextFontOfSize];
- self.txtOnlyCode.frame=CGRectMake(valuex, 13, Screen_Width - valuex - lblx, valueheight);
- [vcode addSubview:self.txtOnlyCode];
- //
- UIButton *btnClearCode=[UIButton buttonWithType:UIButtonTypeCustom];
- btnClearCode.frame=CGRectMake(Screen_Width-45, 13, 25, 25);
- [btnClearCode setBackgroundImage:[UIImage imageNamed:@"icon_scan"] forState:UIControlStateNormal];
-
- [btnClearCode addTarget:self action:@selector(scanClick) forControlEvents:UIControlEventTouchUpInside];
- [vcode addSubview:btnClearCode];
-
- UIView *vgray=[UIView new];
- vgray.frame=CGRectMake(0, CGRectGetMaxY(vcode.frame), Screen_Width, 5);
- vgray.backgroundColor=LineBackgroundColor;
- [contentView addSubview:vgray];
-
- //==================
- UIView *vonlycode=[UIView new];
- vonlycode.frame=CGRectMake(0, CGRectGetMaxY(vgray.frame), Screen_Width, heightRow);
- [contentView addSubview:vonlycode];
- UILabel *lblonlyCode = [UILabel new];
- lblonlyCode.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblonlyCode.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblonlyCode.text=@"唯一编码:";
- [vonlycode addSubview:lblonlyCode];
- self.onlyCode = [UILabel new];
- self.onlyCode.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - 10, valueheight);
- self.onlyCode.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vonlycode addSubview:self.onlyCode];
-
- //==================
- UIView *vgrade=[UIView new];
- vgrade.frame=CGRectMake(0, CGRectGetMaxY(vonlycode.frame), Screen_Width, heightRow);
- [contentView addSubview:vgrade];
- UILabel *lblgrade = [UILabel new];
- lblgrade.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblgrade.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblgrade.text=@"商品等级:";
- [vgrade addSubview:lblgrade];
- self.gradeName = [UILabel new];
- self.gradeName.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.gradeName.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vgrade addSubview:self.gradeName];
-
- //==================
- UIView *vspecification=[UIView new];
- vspecification.frame=CGRectMake(0, CGRectGetMaxY(vgrade.frame), Screen_Width, heightRow);
- [contentView addSubview:vspecification];
- UILabel *lblspecification= [UILabel new];
- lblspecification.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblspecification.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblspecification.text=@"规 格:";
- [vspecification addSubview:lblspecification];
- self.specification = [UILabel new];
- self.specification.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.specification.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vspecification addSubview:self.specification];
-
- //==================
- UIView *vcolorNumber=[UIView new];
- vcolorNumber.frame=CGRectMake(0, CGRectGetMaxY(vspecification.frame), Screen_Width, heightRow);
- [contentView addSubview:vcolorNumber];
- UILabel *lblcolorNumber= [UILabel new];
- lblcolorNumber.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblcolorNumber.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblcolorNumber.text=@"色 号:";
- [vcolorNumber addSubview:lblcolorNumber];
- self.colorNumber = [UILabel new];
- self.colorNumber.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.colorNumber.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vcolorNumber addSubview:self.colorNumber];
-
- //==================
- UIView *vwareHouseName=[UIView new];
- vwareHouseName.frame=CGRectMake(0, CGRectGetMaxY(vcolorNumber.frame), Screen_Width, heightRow);
- [contentView addSubview:vwareHouseName];
- UILabel *lblwareHouseName= [UILabel new];
- lblwareHouseName.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblwareHouseName.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblwareHouseName.text=@"库 区:";
- [vwareHouseName addSubview:lblwareHouseName];
- self.warehouseName = [UILabel new];
- self.warehouseName.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.warehouseName.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vwareHouseName addSubview:self.warehouseName];
-
- //==================
- UIView *vpositionNumber=[UIView new];
- vpositionNumber.frame=CGRectMake(0, CGRectGetMaxY(vwareHouseName.frame), Screen_Width, heightRow);
- [contentView addSubview:vpositionNumber];
- UILabel *lblpositionNumber= [UILabel new];
- lblpositionNumber.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblpositionNumber.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblpositionNumber.text=@"仓 位 号:";
- [vpositionNumber addSubview:lblpositionNumber];
- self.positionNumber = [UILabel new];
- self.positionNumber.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.positionNumber.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vpositionNumber addSubview:self.positionNumber];
-
- //==================
- UIView *vquantity=[UIView new];
- vquantity.frame=CGRectMake(0, CGRectGetMaxY(vpositionNumber.frame), Screen_Width, heightRow);
- [contentView addSubview:vquantity];
- UILabel *lblquantity= [UILabel new];
- lblquantity.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblquantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblquantity.text=@"库存数量:";
- [vquantity addSubview:lblquantity];
- self.quantity = [UILabel new];
- self.quantity.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.quantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vquantity addSubview:self.quantity];
-
- //==================
- UIView *vcanSaleQuantity=[UIView new];
- vcanSaleQuantity.frame=CGRectMake(0, CGRectGetMaxY(vquantity.frame), Screen_Width, heightRow);
- [contentView addSubview:vcanSaleQuantity];
- UILabel *lblcanSaleQuantity= [UILabel new];
- lblcanSaleQuantity.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblcanSaleQuantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblcanSaleQuantity.text=@"可售数量:";
- [vcanSaleQuantity addSubview:lblcanSaleQuantity];
- self.canSaleQuantity = [UILabel new];
- self.canSaleQuantity.frame=CGRectMake(valuex, valuey, Screen_Width - valuex - lblx, valueheight);
- self.canSaleQuantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [vcanSaleQuantity addSubview:self.canSaleQuantity];
-
- //==================
- UIView *vStockingQuantity=[UIView new];
- vStockingQuantity.frame=CGRectMake(0, CGRectGetMaxY(vcanSaleQuantity.frame), Screen_Width, heightRow);
- [contentView addSubview:vStockingQuantity];
- UILabel *lblStockingQuantity= [UILabel new];
- lblStockingQuantity.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblStockingQuantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblStockingQuantity.text=@"盘点数量:";
-
- [vStockingQuantity addSubview:lblStockingQuantity];
- self.txtStockingQuantity = [UITextField new];
- self.txtStockingQuantity.frame=CGRectMake(valuex, valuey, Screen_Width - valuex-lblx, valueheight);
- self.txtStockingQuantity.keyboardType = UIKeyboardTypeNumberPad;
- self.txtStockingQuantity.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- self.txtStockingQuantity.placeholder = @"请输入盘点数量";
- self.txtStockingQuantity.delegate = self;
- [vStockingQuantity addSubview:self.txtStockingQuantity];
-
- //==================
- UIView *vresponseiblePerson=[UIView new];
- vresponseiblePerson.frame=CGRectMake(0, CGRectGetMaxY(vStockingQuantity.frame), Screen_Width, heightRow);
- [contentView addSubview:vresponseiblePerson];
- UILabel *lblresponseiblePerson= [UILabel new];
- lblresponseiblePerson.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblresponseiblePerson.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblresponseiblePerson.text=@"责 任 人:";
- [vresponseiblePerson addSubview:lblresponseiblePerson];
- self.responseiblePerson = [UIButton new];
- self.responseiblePerson.frame=CGRectMake(valuex, valuey, Screen_Width - valuex-lblx, valueheight);
- self.responseiblePerson.titleLabel.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [self.responseiblePerson setTitle:@"请选择责任人" forState:UIControlStateNormal];
- self.responseiblePerson.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
- self.responseiblePerson.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
- [self.responseiblePerson setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
- [self.responseiblePerson addTarget:self action:@selector(showPerson) forControlEvents:UIControlEventTouchUpInside];
- [vresponseiblePerson addSubview:self.responseiblePerson];
-
- //==================
- UIView *vresponseibleReason=[UIView new];
- vresponseibleReason.frame=CGRectMake(0, CGRectGetMaxY(vresponseiblePerson.frame), Screen_Width, heightRow);
- [contentView addSubview:vresponseibleReason];
- UILabel *lblresponseibleReason= [UILabel new];
- lblresponseibleReason.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
- lblresponseibleReason.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- lblresponseibleReason.text=@"盘亏原因:";
- [vresponseibleReason addSubview:lblresponseibleReason];
- self.responseibleReason = [UIButton new];
- self.responseibleReason.frame=CGRectMake(valuex, valuey, Screen_Width - valuex-lblx, valueheight);
- self.responseibleReason.titleLabel.font = [UIFont systemFontOfSize:LabelAndTextFontOfSize];
- [self.responseibleReason setTitle:@"请选择盘亏原因" forState:UIControlStateNormal];
- self.responseibleReason.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
- self.responseibleReason.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
- [self.responseibleReason setTitleColor:ButtonTitleColor forState:UIControlStateNormal];
- [self.responseibleReason addTarget:self action:@selector(showReason) forControlEvents:UIControlEventTouchUpInside];
- [vresponseibleReason addSubview:self.responseibleReason];
-
- //保存
- _btnSave=[UIButton buttonWithType:UIButtonTypeCustom];
- _btnSave.frame=CGRectMake(lblx, Screen_Height - h - 5 - rectStatusHeight-rectNavHeight, Screen_Width-2*lblx, h);
- [_btnSave setBackgroundImage:pic forState:UIControlStateNormal];
- [_btnSave addTarget:self action:@selector(dataSave) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:_btnSave];
-
- contentView.frame=CGRectMake(0,0,self.view.frame.size.width,CGRectGetMaxY(vresponseibleReason.frame));
- scroll.contentSize=CGSizeMake(self.view.frame.size.width, CGRectGetMaxY(vresponseibleReason.frame)+20);
- }
- /**
- 扫描条码的界面跳转
- */
- -(void)scanClick{
- ScanViewController * rt = [[ScanViewController alloc]init];
- rt.rootVC = self;
- self.navigationController.visibleViewController.hidesBottomBarWhenPushed=YES;
- [self.navigationController pushViewController:rt animated:YES];
- }
- /**
- 保存数据
- */
- -(void)dataSave{
- [self.view endEditing:YES];
- if (![self check]) {
- return;
- }
-
- [self saveDataManager];
- }
- /**
- 保存前的校验
-
- @param BOOL <#BOOL description#>
- @return <#return value description#>
- */
- - (BOOL)check{
- if(self.txtOnlyCode.text == nil||[self.txtOnlyCode.text isEqualToString:@""]){
- [self showAlertViewText:@"请输入或扫描唯一编码"];
- return NO;
- }
- if(self.sCode == nil || [self.sCode isEqualToString:@""] )
- {
- [self showAlertViewText:@"请按回车加载数据!"];
- return NO;
- }
- // if([self.txtStockingQuantity.text doubleValue] == 0){
- // [self showAlertViewText:@"库存盘点数量大于0"];
- // return NO;
- //
- // }
- if(self.txtStockingQuantity == nil || [self.txtStockingQuantity.text isEqualToString:@""])
- {
- [self showAlertViewText:@"请输入盘点数量"];
- return NO;
- }
- if(self.txtStockingQuantity.text != nil||![self.txtStockingQuantity.text isEqualToString:@""]){
- RegularExpression *regularExpr = [[RegularExpression alloc]init];
- bool flg = [regularExpr AmountRegular:self.txtStockingQuantity.text];
- if(!flg){
- [self showAlertViewText:@"盘点数量格式不正确"];
- self.txtStockingQuantity.text = @"";
- return NO;
- }
- }
-
- if(self.sResponseiblePerson == nil||[self.sResponseiblePerson isEqualToString:@""])
- {
- [self showAlertViewText:@"请选择责任人"];
- return NO;
- }
- return YES;
- }
- /**
- 根据唯一编码加载数据
- */
- -(void)loadData{
- self.hidesBottomBarWhenPushed=YES;
- StockingGoodsListViewController *vc=[[StockingGoodsListViewController alloc] init];
- vc.onlyCode = self.sCode;
- vc.stockDelegate = self;
- [self.navigationController pushViewController:vc animated:YES];
- }
- /**
- 保存数据
- */
- -(void)saveDataManager{
- [self startLoading];
- self.saveManager = [[ASIDownManager alloc] init];
- self.saveManager.delegate = self;
- self.saveManager.OnImageDown = @selector(onSaveSuccess:);
- self.saveManager.OnImageFail = @selector(onFail:);
-
- NSString *urlStr = ServerURL;
- NSMutableDictionary *dict = [NSMutableDictionary dictionary];
- [dict setObject:@"SaveCheckDataIphone" forKey:@"Action"];
-
- [dict setObject:[NSString stringWithFormat:@"%@",kkAccountCode]forKey:@"AccountCode"];
- [dict setObject:kkUserCode forKey:@"UserCode"];
- [dict setObject:kkUserPwd forKey:@"UserPassword"];
- [dict setObject:kkSessionKey forKey:@"SessionKey"];
- if (kkLicenseCode !=nil) {
- [dict setObject:kkLicenseCode forKey:@"LicenseCode"];
- }
- //主界面
- NSMutableDictionary *dicHead = [[NSMutableDictionary alloc] init];
- NSMutableArray *arrHead=[[NSMutableArray alloc]init];
- [dicHead setObject:self.inventoryId forKeyedSubscript:@"InventoryID"];
- [dicHead setObject:self.quantity.text forKeyedSubscript:@"InventoryQuantity"];
- [dicHead setObject:self.txtStockingQuantity.text forKeyedSubscript:@"CheckQuantity"];
- [dicHead setObject:self.sResponseibleReason forKeyedSubscript:@"ShortageReason"];
- [dicHead setObject:self.sResponseiblePerson forKeyedSubscript:@"ResponsiblePerson"];
- [dicHead setObject:self.codeId forKeyedSubscript:@"CodeID"];
- [dicHead setObject:@"" forKeyedSubscript:@"Remarks"];
- [arrHead addObject:dicHead];
- [dict setObject:[Util objectToJson:arrHead] forKey:@"CheckDetailData"];
- [self.saveManager postHttpRequest:urlStr dic:dict path:nil fileName:nil];
- }
- /**
- 加载盘亏原因,责任人
- */
- -(void)loadInitResposeData{
- [self startLoading];
- NSString *urlStr = ServerURL;
- NSMutableDictionary *dict=[NSMutableDictionary new];
- [dict setObject:@"GetInventoyCheckInitDataIphone" forKey:@"Action"];
- [dict setObject:kkAccountCode forKey:@"AccountCode"];
- [dict setObject:kkUserCode forKey:@"UserCode"];
- [dict setObject:kkUserPwd forKey:@"UserPassword"];
- [dict setObject:kkSessionKey forKey:@"SessionKey"];
- self.downManager = [[ASIDownManager alloc] init];
- self.downManager.delegate = self;
- self.downManager.OnImageDown = @selector(onResposeSuccess:);
- self.downManager.OnImageFail = @selector(onFail:);
- [self.downManager postHttpRequest:urlStr dic:dict path:nil fileName:nil];
- }
- /**
- Notification
- */
- -(void)initNotification{
- [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onFocusPeopleEditingChanged:) name:@"UITextFieldTextDidChangeNotification" object:self.txtStockingQuantity ];
- }
- /**
- 责任人点击事件
- */
- - (void)showPerson{
- if(self.sCode==nil || [self.sCode isEqualToString:@""] )
- {
- return ;
- }
- self.hidesBottomBarWhenPushed=YES;
- ResponsiblePersonViewController *vc=[[ResponsiblePersonViewController alloc] init];
- vc.filterArr = self.infoPersons;
- vc.searchArr = self.infoPersons;
- vc.respDelegate = self;
- [self.navigationController pushViewController:vc animated:YES];
- }
- /**
- 盘亏原因点击事件
- */
- - (void)showReason{
- if(self.sCode==nil || [self.sCode isEqualToString:@""] )
- {
- return ;
- }
- self.hidesBottomBarWhenPushed=YES;
- BaseIDAndNameViewController *tc=[[BaseIDAndNameViewController alloc ]init];
- tc.bDelegate = self;
- tc.isPresentViewFlg = NO;
- tc.filterArr = self.infoReasons;
- tc.searchArr = self.infoReasons;
- tc.showDialogViewTag = baseIdAndNameStockingReason;
- [self.navigationController pushViewController:tc animated:YES];
- }
- /**
- 显示键盘
- */
- -(void)keyboardWillShow {
- if ([self.txtOnlyCode isFirstResponder]){
- return;
- }
- if(!keyboardShow){
- [UIView animateWithDuration:0.3f animations:^ {
- self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y-190, self.view.frame.size.width, self.view.frame.size.height);
-
- }];}
- keyboardShow=YES;
- }
- /**
- 隐藏键盘
- */
- -(void)keyboardWillHide {
- if ([self.txtOnlyCode isFirstResponder]){
- return;
- }
- self.view.backgroundColor = [UIColor colorWithWhite:0.96 alpha:1.0];
- if(keyboardShow){
- [UIView animateWithDuration:0.1f animations:^ {
- self.view.frame = CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y+190, self.view.frame.size.width, self.view.frame.size.height);
-
- }];}
- keyboardShow=NO;
- }
- /**
- 清空数据
- */
- - (void)clearData{
- self.inventoryId = @"";
- self.sCode = @"";
- self.codeId = @"";
- self.onlyCode.text = @"";
- self.txtOnlyCode.text = @"";
- self.warehouseName.text = @"";
- self.specification.text = @"";
- self.gradeName.text = @"";
- self.colorNumber.text = @"";
- self.positionNumber.text = @"";
- [self.responseibleReason setTitle:@"请选择盘亏原因" forState:UIControlStateNormal];
- [self.responseiblePerson setTitle:@"请选择责任人" forState:UIControlStateNormal];
- self.sResponseiblePerson = @"";
- self.sResponseibleReason = @"";
- self.quantity.text = @"";
- self.txtStockingQuantity.text = @"";
- self.canSaleQuantity.text = @"";
- }
- @end
|