NewPurchaseViewController.m 21.4 KB
Newer Older
n22's avatar
n22 committed
1 2 3 4 5 6 7 8 9
//
//  NewPurchaseViewController.m
//  XFFruit
//
//  Created by 陈俊俊 on 15/8/21.
//  Copyright (c) 2015年 Xummer. All rights reserved.
//

#import "NewPurchaseViewController.h"
陈俊俊's avatar
陈俊俊 committed
10
#import "SeePurchaseNoticeViewController.h"
n22's avatar
n22 committed
11
#import "TopPurchaseView.h"
陈俊俊's avatar
陈俊俊 committed
12
#import "ProductBillViewController.h"
n22's avatar
n22 committed
13
#import "PurchaseBillProduct.h"
陈俊俊's avatar
陈俊俊 committed
14
#import "PurchaseViewController.h"
陈俊俊's avatar
陈俊俊 committed
15 16
#import "ShopDetaileViewController.h"
#import "PurchaseBillProduct.h"
17
#import "GXFPopView.h"
陈俊俊's avatar
陈俊俊 committed
18
#import "NoticeProduct.h"
19 20
#import "BottomPurchaseView.h"
#import "NewCostViewController.h"
21
#import "FeeAcountDetail.h"
Sandy's avatar
Sandy committed
22
#import "CalculateHelper.h"
n22's avatar
n22 committed
23
#define TopHeight 328
n22's avatar
n22 committed
24 25 26 27 28 29 30 31
#define BottomHeight 300
#define SpaceHeight 20
#define BottomViewHeight 60
typedef enum : NSUInteger {
    SaveTag = 8000,
    CommitTag,
} BtnTag;

陈俊俊's avatar
陈俊俊 committed
32
@interface NewPurchaseViewController ()<TopPurchaseViewDelegate,UIAlertViewDelegate>
n22's avatar
n22 committed
33 34 35 36
{
    UIScrollView *_scrollView;
    TopPurchaseView *_purchaseView;
    UIView *_bottomView;
陈俊俊's avatar
陈俊俊 committed
37
    ProductBillViewController *_pvc ;
38
    BottomPurchaseView *_aBottomView;
陈俊俊's avatar
陈俊俊 committed
39 40 41
    id uuidObject;
    id billNumberObject;
    NSNumber *versionObject;
n22's avatar
n22 committed
42
}
n22's avatar
n22 committed
43
@property (nonatomic,strong)NSString *state;
44
@property (nonatomic,strong)GXFPopView *popView;
n22's avatar
n22 committed
45

陈俊俊's avatar
陈俊俊 committed
46 47 48 49




n22's avatar
n22 committed
50 51 52 53
@end

@implementation NewPurchaseViewController

n22's avatar
n22 committed
54 55 56 57 58
- (instancetype)init{
    self = [super init];
    if (self) {
        //监听值的改变
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setProductTotalPrice:) name:SetProductTotalPrice object:nil];
陈俊俊's avatar
陈俊俊 committed
59
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addPurchaseProduct:) name:KNOTIFICATION_AddPurchaseProduct object:nil];
60
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addTransportCost:) name:KNOTIFICATION_AddTransportCost object:nil];
n22's avatar
n22 committed
61 62 63 64
    }
    return self;
}

n22's avatar
n22 committed
65 66 67 68
- (void)viewDidLoad {
    [super viewDidLoad];
    //布局
    [self bulidLayout];
陈俊俊's avatar
陈俊俊 committed
69 70 71 72
    //数据默认值
    uuidObject = [NSNull null];
    billNumberObject = [NSNull null];
    versionObject = [NSNumber numberWithInteger:0];
陈俊俊's avatar
陈俊俊 committed
73 74 75
    if (self.purchaseBill) {
        [self getDataFromServer];
    }
陈俊俊's avatar
陈俊俊 committed
76 77 78 79 80
    if (self.purchaseNotice) {
        _purchaseView.noticeUuid = self.purchaseNotice.uuid;
        _purchaseView.noticeNumber = self.purchaseNotice.billnumber;
        //转换
        NSMutableArray *arr = [self coverPurchaseBillProduct:self.purchaseNotice.products];
81
        _aBottomView.productVC.productArr = arr;
陈俊俊's avatar
陈俊俊 committed
82
    }
陈俊俊's avatar
陈俊俊 committed
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
}
- (void)getDataFromServer{
    __weak typeof(self)weakSelf = self;
    void(^succ)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        __strong __typeof(weakSelf)strongSelf = weakSelf;
        if (data) {
            NSInteger success = [data[@"success"] integerValue];
            NSString *message  = data[@"message"] ;
            if (success == 1) {
                NSDictionary *dictData = data[@"data"];
                PurchaseBill *bill = [[PurchaseBill alloc]init];
                [bill setValuesForKeysWithDictionary:dictData];
                self.purchaseBill = bill;
                [strongSelf prepareDataInCell];
            }else{
                [IBTLoadingView showTips:message];
            }
        }else{
            [IBTLoadingView showTips:@"     无记录     "];
        }
    };
    void(^fail)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
    };
    [IBTLoadingView showProgressLabel:@"正在加载..."];
陈俊俊's avatar
陈俊俊 committed
110
    [[ICRHTTPController sharedController] getPurchaseResultWithPurchaseUuid:self.purchaseBill.uuid success:succ failure:fail];
陈俊俊's avatar
陈俊俊 committed
111 112 113 114
}
//赋值
- (void)prepareDataInCell{
    _purchaseView.bill = self.purchaseBill;
陈俊俊's avatar
陈俊俊 committed
115
    
陈俊俊's avatar
陈俊俊 committed
116 117 118 119 120 121
    NSMutableArray *arr = [NSMutableArray array];
    for (NSDictionary *productDict in self.purchaseBill.products) {
        PurchaseBillProduct *billProduct = [[PurchaseBillProduct alloc]init];
        [billProduct setValuesForKeysWithDictionary:productDict];
        [arr addObject:billProduct];
    }
122
    _aBottomView.productVC.productArr = arr;
Sandy's avatar
Sandy committed
123
    [_aBottomView.productVC.tableView reloadData];
124 125 126 127 128 129 130 131 132 133 134
    
    
    NSMutableArray *arrCost = [NSMutableArray array];
    for (NSDictionary *dic in _purchaseBill.accountDetails) {
        FeeAcountDetail *cost = [[FeeAcountDetail alloc] init];
        [cost setValuesForKeysWithDictionary:dic];
        [arrCost addObject:cost];
    }
    
    _aBottomView.costVC.costArr = arrCost;
    [_aBottomView.costVC.tableView reloadData];
n22's avatar
n22 committed
135 136
}

137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
- (void)addTransportCost:(NSNotification *)fination{
    
    NewCostViewController *nvc = [NewCostViewController new];
    NSIndexPath *indexPath = [[fination userInfo] objectForKey:@"indexPath"];
    FeeAcountDetail *fee = [[fination userInfo] objectForKey:@"feeAccountDetail"];
    
    if (indexPath) {
        nvc.navTitle = @"编辑费用";
        nvc.indexPath = indexPath;
        nvc.accountDetail = fee;
    }else{
        nvc.navTitle = @"添加费用";
    }
    nvc.getTransportCost = ^(FeeAcountDetail *fee,NSIndexPath *indexPath){
        if (fee) {
            [_aBottomView refreshCost:fee indexPath:indexPath];
        }
    };
    nvc.deleteTransportCost = ^(FeeAcountDetail *fee,NSIndexPath *indexPath){
        if (fee) {
            [_aBottomView refreshDelCost:fee indexPath:indexPath];
        }
    };
    [self PushViewController:nvc animated:YES];
    
}


n22's avatar
n22 committed
165 166 167 168 169 170 171 172 173 174 175 176
#pragma mark - 布局
- (void)bulidLayout
{
    self.view.backgroundColor  = XXFBgColor;
    _scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0,0, ScreenSize.width, ScreenSize.height- 64 - BottomViewHeight )];
    _scrollView.showsHorizontalScrollIndicator  = NO;
    _scrollView.showsVerticalScrollIndicator = NO;
    _scrollView.contentSize = CGSizeMake(ScreenSize.width, TopHeight+ BottomHeight + SpaceHeight*2);
    [self.view addSubview:_scrollView];
    
    
    UIView *footView = [[UIView alloc]initWithFrame:CGRectMake(0, ScreenSize.height - BottomViewHeight - 64, ScreenSize.width, BottomViewHeight)];
陈俊俊's avatar
陈俊俊 committed
177
    UIButton *saveBtn =  [IBTCustomButtom creatButtonWithFrame:CGRectMake(15, 8, (ScreenSize.width - 15*3)/2, 44) target:self sel:@selector(btnClick:) tag:SaveTag image:nil title:@"保存" titleColor: [UIColor whiteColor] isCorner:YES corner:5 bgColor:GXF_SAVE_COLOR];
n22's avatar
n22 committed
178 179
    [footView addSubview:saveBtn];
    
陈俊俊's avatar
陈俊俊 committed
180
    UIButton *commitBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(CGRectGetMaxX(saveBtn.frame) + 15, 8, (ScreenSize.width - 15*3)/2, 44) target:self sel:@selector(btnClick:) tag:CommitTag image:nil title:@"提交" titleColor: [UIColor whiteColor] isCorner:YES corner:5 bgColor:GXF_COMMIT_COLOR];
n22's avatar
n22 committed
181 182 183
    [footView addSubview:commitBtn];
    
    [self.view addSubview:footView];
Sandy's avatar
Sandy committed
184
    
n22's avatar
n22 committed
185 186 187 188
    _purchaseView = [[TopPurchaseView alloc]initWithFrame:CGRectMake(0, 0, ScreenSize.width, TopHeight)];
    _purchaseView.delegate = self;
    [_scrollView addSubview:_purchaseView];
    
Sandy's avatar
Sandy committed
189 190 191 192 193 194 195
    //    _bottomView = [[UIView alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(_purchaseView.frame) + 20, ScreenSize.width,BottomHeight)];
    //    _bottomView.backgroundColor = [UIColor whiteColor];
    //    [_scrollView addSubview:_bottomView];
    //
    //    _pvc = [[ProductBillViewController alloc]init];
    //    _pvc.viewFrame = _bottomView.bounds;
    //    [_bottomView addSubview:_pvc.view];
196 197 198
    _aBottomView = [[BottomPurchaseView alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(_purchaseView.frame) + 20, ScreenSize.width,BottomHeight) withHidden:NO];
    _aBottomView.backgroundColor = [UIColor whiteColor];
    [_scrollView addSubview:_aBottomView];
n22's avatar
n22 committed
199 200 201
    
}

202
//添加商品明细,更新上部显示的费用
n22's avatar
n22 committed
203 204
- (void)setProductTotalPrice:(NSNotification *)fication{
    //计算总金额
Sandy's avatar
Sandy committed
205
    NSDecimalNumber *otherPrice = [NSDecimalNumber decimalNumberWithString:@"0"];
Sandy's avatar
Sandy committed
206 207 208 209 210 211 212 213
    //    if (_aBottomView.costVC.costArr.count == 0) {
    //        otherPrice = [_purchaseView.otherPriceFiled.text floatValue];
    //    }else{
    for (FeeAcountDetail *cost in _aBottomView.costVC.costArr) {
        otherPrice = [CalculateHelper calculateNum1:otherPrice num2:cost.leftmoney type:CalculateTypeAdd roundingType:NSRoundBankers cutLenth:10];
    }
    _purchaseView.otherPriceFiled.text = [NSString stringWithFormat:@"%@", otherPrice];
    //    }
214
    
n22's avatar
n22 committed
215
    //其他费用 + 商品总金额
216
    
217
    NSMutableArray *purchaseProduct = _aBottomView.productVC.productArr;
Sandy's avatar
Sandy committed
218
    NSDecimalNumber *totalPrice = [NSDecimalNumber decimalNumberWithString:@"0"];
n22's avatar
n22 committed
219
    for (PurchaseBillProduct *billProduct in purchaseProduct) {
Sandy's avatar
Sandy committed
220
        totalPrice = [CalculateHelper calculateNum1:totalPrice num2:billProduct.total type:CalculateTypeAdd roundingType:NSRoundBankers cutLenth:10];
n22's avatar
n22 committed
221
    }
Sandy's avatar
Sandy committed
222 223 224 225
    NSDecimalNumber *all = [CalculateHelper calculateNum1:totalPrice num2:otherPrice type:CalculateTypeAdd roundingType:NSRoundBankers cutLenth:2];
    _purchaseView.purchasePriceLabel.text = [NSString stringWithFormat:@"%@",[all stringValue]];
    _purchaseView.total = all;
    _purchaseView.chargePurchase = otherPrice;
226 227
    
    
Sandy's avatar
Sandy committed
228
    
229 230 231
    
    
    
n22's avatar
n22 committed
232
}
陈俊俊's avatar
陈俊俊 committed
233
- (void)addPurchaseProduct:(NSNotification *)fication{
234
    
陈俊俊's avatar
陈俊俊 committed
235 236 237
    PurchaseBillProduct *billProduct = [[fication userInfo] objectForKey:@"purchaseBillProduct"];
    NSInteger indexTag = [[[fication userInfo] objectForKey:@"indexTag"] integerValue];
    
陈俊俊's avatar
陈俊俊 committed
238
    ShopDetaileViewController *svc = [[ShopDetaileViewController alloc] init];
陈俊俊's avatar
陈俊俊 committed
239
    if (billProduct) {
陈俊俊's avatar
陈俊俊 committed
240
        svc.navTitle = @"编辑商品";
陈俊俊's avatar
陈俊俊 committed
241 242 243 244
        ShopDetail *shopDetail=[self coverShopDetail:billProduct];
        shopDetail.IsXiuGai=YES;
        svc.choseShopDetail = ^(ShopDetail *Detail){
            if (Detail.IsDeleted) {
245
                [_aBottomView.productVC.productArr removeObjectAtIndex:indexTag];
陈俊俊's avatar
陈俊俊 committed
246 247
            }else{
                PurchaseBillProduct *billProduct = [self coverPurchaseProduct:Detail];
248
                [_aBottomView.productVC.productArr replaceObjectAtIndex:indexTag withObject:billProduct];
陈俊俊's avatar
陈俊俊 committed
249
            }
250
            [_aBottomView.productVC.tableView reloadData];
陈俊俊's avatar
陈俊俊 committed
251 252 253 254 255
            [[NSNotificationCenter defaultCenter] postNotificationName:SetProductTotalPrice object:nil];
        };
        svc.shopDetail=shopDetail;
    }else{
        // 回调
陈俊俊's avatar
陈俊俊 committed
256
        svc.navTitle = @"添加商品";
陈俊俊's avatar
陈俊俊 committed
257 258
        svc.choseShopDetail = ^(ShopDetail *shopDetail){
            PurchaseBillProduct *billProduct = [self coverPurchaseProduct:shopDetail];
259 260
            [_aBottomView.productVC.productArr addObject:billProduct];
            [_aBottomView.productVC.tableView reloadData];
陈俊俊's avatar
陈俊俊 committed
261 262 263
            [[NSNotificationCenter defaultCenter] postNotificationName:SetProductTotalPrice object:nil];
        };
    }
Sandy's avatar
Sandy committed
264
    
陈俊俊's avatar
陈俊俊 committed
265 266 267
    svc.title = [IBTCommon localizableString:@"AddShopDetail"];
    [self PushViewController:svc animated:YES];
}
陈俊俊's avatar
陈俊俊 committed
268 269


n22's avatar
n22 committed
270
- (void)btnClick:(UIButton *)btn{
n22's avatar
n22 committed
271 272 273 274
    switch (btn.tag) {
        case SaveTag:
        {
            if ([self checkPurchase]) {
陈俊俊's avatar
陈俊俊 committed
275
                [self getDataFromServer:PURCHASE_STATE_INITIAL msg:@"正在保存..."];
n22's avatar
n22 committed
276 277 278 279
            }
        }
            break;
        case CommitTag:{
陈俊俊's avatar
陈俊俊 committed
280
            if ([self checkPurchase]) {
陈俊俊's avatar
陈俊俊 committed
281 282 283
                UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"请确认提交" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确认", nil];
                alertView.delegate = self;
                [alertView show];
陈俊俊's avatar
陈俊俊 committed
284
            }
n22's avatar
n22 committed
285 286 287 288 289 290 291
        }
            break;
        default:
            break;
    }
}

陈俊俊's avatar
陈俊俊 committed
292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309
- (void)getDataFromServer:(NSString *)state msg:(NSString *)msg{
    //保存
    void(^succ)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        if (data) {
            NSInteger success = [data[@"success"] integerValue];
            NSString *message = data[@"message"];
            if (success == 1) {
                //成功
                if ([state isEqualToString:PURCHASE_STATE_INITIAL]) {//保存成功
                    NSString *uuidS = data[@"data"][@"uuid"];
                    NSString *billNumberS = data[@"data"][@"billNumber"];
                    NSNumber *versionN = data[@"data"][@"version"];
                    uuidObject = uuidS;
                    billNumberObject = billNumberS;
                    versionObject = versionN;
                    [IBTLoadingView showTips:[NSString stringWithFormat:@"当前单据%@已保存成功",billNumberS]];
                }else{//提交成功
陈俊俊's avatar
陈俊俊 committed
310 311 312 313 314 315 316
                    if (self.purchaseNotice) {
                        [self PopViewControllerAnimated:YES];
                    }else{
                        PurchaseViewController *svc = [PurchaseViewController new];
                        svc.title = @"查看采购单";
                        [self PushViewController:svc animated:YES];
                    }
陈俊俊's avatar
陈俊俊 committed
317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
                }
            }else{
                [IBTLoadingView showTips:message];
            }
        }
    };
    void(^fail)(id) = ^(id data) {
        [IBTLoadingView hideHUDWithText:nil];
        [IBTLoadingView showTips:data];
    };
    
    if(self.purchaseBill.uuid.length > 0 && uuidObject == [NSNull null]){
        uuidObject = self.purchaseBill.uuid;
    }
    if (self.purchaseBill.billNumber > 0 && billNumberObject == [NSNull null]) {
        billNumberObject = self.purchaseBill.billNumber;
    }
    if (self.purchaseBill && [versionObject integerValue] == 0) {
        versionObject = self.purchaseBill.version;
    }
陈俊俊's avatar
陈俊俊 committed
337 338 339 340 341 342
    if (_purchaseView.noticeUuid.length ==0 || _purchaseView.noticeNumber.length == 0) {
        if (self.purchaseBill && self.purchaseBill.noticeNumber && self.purchaseBill.noticeUuid) {
            _purchaseView.noticeUuid = self.purchaseBill.noticeUuid;
            _purchaseView.noticeNumber = self.purchaseBill.noticeNumber;
        }
    }
陈俊俊's avatar
陈俊俊 committed
343
    NSMutableArray *billProducts = [NSMutableArray array];
344
    for (PurchaseBillProduct *billProduct in _aBottomView.productVC.productArr) {        [billProducts  addObject:[billProduct dictForCommit]];
陈俊俊's avatar
陈俊俊 committed
345
    }
陈俊俊's avatar
陈俊俊 committed
346
    self.state = state;
347 348 349 350 351
    
    NSMutableArray *costs = [NSMutableArray array];
    for (FeeAcountDetail *fee in _aBottomView.costVC.costArr) {
        [costs  addObject:[fee dictForCommit]];
    }
陈俊俊's avatar
陈俊俊 committed
352 353 354 355 356 357 358 359 360 361 362 363 364
    NSDictionary *dict = @{@"uuid":uuidObject,
                           @"version":versionObject,
                           @"billnumber":billNumberObject,
                           @"state":state,
                           @"type":[IBTCommon checkString:_purchaseView.type],
                           @"noticeUuid":[IBTCommon checkString:_purchaseView.noticeUuid],
                           @"noticeNumber":[IBTCommon checkString:_purchaseView.noticeNumber],
                           @"vendor_uuid":[IBTCommon checkString:_purchaseView.vendor_uuid],
                           @"vendor_code":[IBTCommon checkString:_purchaseView.vendor_code],
                           @"vendor_name":[IBTCommon checkString:_purchaseView.vendor_name],
                           @"receiveWrh_uuid":[IBTCommon checkString:_purchaseView.receiveWrh_uuid],
                           @"receiveWrh_code":[IBTCommon checkString:_purchaseView.receiveWrh_code],
                           @"receiveWrh_name":[IBTCommon checkString:_purchaseView.receiveWrh_name],
365 366 367
                           @"purchaserUuid":_purchaseView.selectPerson.userUuid,
                           @"purchaserCode":_purchaseView.selectPerson.userCode,
                           @"purchaserName":_purchaseView.selectPerson.userName,
陈俊俊's avatar
陈俊俊 committed
368 369
                           @"total":_purchaseView.total,
                           @"charge":_purchaseView.chargePurchase,
陈俊俊's avatar
陈俊俊 committed
370
                           @"remark":[IBTCommon checkString:_purchaseView.remark],
Sandy's avatar
Sandy committed
371
                           @"outSideBillNumber":[IBTCommon checkString:_purchaseView.purchaseExternal.text],
372
                           @"products":billProducts,
373
                           @"accountDetails":costs};
陈俊俊's avatar
陈俊俊 committed
374 375 376
    [IBTLoadingView showProgressLabel:msg];
    [[ICRHTTPController sharedController] savePurchaseWithData:dict success:succ failure:fail];
}
n22's avatar
n22 committed
377 378
#pragma mark - checkNull
- (BOOL)checkPurchase{
陈俊俊's avatar
陈俊俊 committed
379
    _purchaseView.remark = _purchaseView.remarkTextView.text;
380 381 382 383
    if (_purchaseView.selectPerson == nil) {
        ShowMessage(@"采购员不能为空");
        return NO;
    }
陈俊俊's avatar
陈俊俊 committed
384 385 386 387 388 389 390 391 392 393 394 395
    if (_purchaseView.type.length == 0 ) {
        ShowMessage(@"采购类型不能为空");
        return NO;
    }
    if (_purchaseView.vendor_uuid.length == 0 ) {
        ShowMessage(@"供应商不能为空");
        return NO;
    }
    if (_purchaseView.receiveWrh_uuid.length == 0 ) {
        ShowMessage(@"收货仓库不能为空");
        return NO;
    }
Sandy's avatar
Sandy committed
396 397 398 399
    if (_purchaseView.purchaseExternal.text == 0) {
        ShowMessage(@"外部单据号不能为空");
        return NO;
    }
400
    if (_aBottomView.productVC.productArr.count == 0) {
陈俊俊's avatar
陈俊俊 committed
401 402 403 404 405
        ShowMessage(@"采购商品不能为空");
        return NO;
    }
    if ([_purchaseView.total floatValue] < 0 || !_purchaseView.total) {
        ShowMessage(@"金额不能为空");
n22's avatar
n22 committed
406 407
        return NO;
    }
408
    for (PurchaseBillProduct *billProduct in _aBottomView.productVC.productArr) {
陈俊俊's avatar
陈俊俊 committed
409
        if ([billProduct.qty floatValue] <= 0 || [billProduct.baseQty floatValue] <= 0) {
陈俊俊's avatar
陈俊俊 committed
410 411 412
            ShowMessage(@"有数量等于0的商品明细,请编辑后保存");
            return NO;
        }
Sandy's avatar
Sandy committed
413 414 415 416
        //        if ([billProduct.price floatValue] <=0 || [billProduct.basePrice floatValue] <= 0) {
        //            ShowMessage(@"有价格未填写的商品明细,请编辑后保存");
        //            return NO;
        //        }
陈俊俊's avatar
陈俊俊 committed
417
    }
Sandy's avatar
Sandy committed
418
    
n22's avatar
n22 committed
419
    return YES;
陈俊俊's avatar
陈俊俊 committed
420
}
n22's avatar
n22 committed
421 422


n22's avatar
n22 committed
423 424
#pragma mark - TopPurchaseViewDelegate

陈俊俊's avatar
陈俊俊 committed
425 426
- (void)pushNextViewController:(id)vc{
    [self PushViewController:vc animated:YES];
n22's avatar
n22 committed
427
}
陈俊俊's avatar
陈俊俊 committed
428 429 430
//两个类之间的转换
- (PurchaseBillProduct *)coverPurchaseProduct:(ShopDetail *)shopDetail{
    PurchaseBillProduct *billProduct = [[PurchaseBillProduct alloc]init];
陈俊俊's avatar
陈俊俊 committed
431
    billProduct.uuid = shopDetail.uuid;
陈俊俊's avatar
陈俊俊 committed
432 433 434
    billProduct.product_uuid = shopDetail.product_uuid;
    billProduct.product_code = shopDetail.product_code;
    billProduct.product_name = shopDetail.merchandise;
Sandy's avatar
Sandy committed
435
    billProduct.qpc = [NSDecimalNumber decimalNumberWithString:shopDetail.packageSpecification];
陈俊俊's avatar
陈俊俊 committed
436
    billProduct.unit = shopDetail.packageUnit;
Sandy's avatar
Sandy committed
437 438 439 440 441
    billProduct.qty = [NSDecimalNumber decimalNumberWithString:shopDetail.packageQuantity];
    billProduct.price = shopDetail.packageUnitPrice;
    billProduct.baseQty = [NSDecimalNumber decimalNumberWithString:shopDetail.foundationQuantity];
    billProduct.basePrice = shopDetail.foundationUnitPrice;
    billProduct.total = shopDetail.totalMoney;
陈俊俊's avatar
陈俊俊 committed
442
    billProduct.remark = shopDetail.remark;
陈俊俊's avatar
陈俊俊 committed
443
    billProduct.qpcStr = shopDetail.packageQpcStr ? shopDetail.packageQpcStr : @"无";
陈俊俊's avatar
陈俊俊 committed
444
    billProduct.baseUnit = shopDetail.packageQpcUnit;
陈俊俊's avatar
陈俊俊 committed
445 446 447 448 449 450 451 452
    return billProduct;
}
- (ShopDetail *)coverShopDetail:(PurchaseBillProduct *)billProduct{
    ShopDetail *shopDetail = [[ShopDetail alloc]init];
    shopDetail.uuid = billProduct.uuid;
    shopDetail.product_uuid = billProduct.product_uuid;
    shopDetail.product_code = billProduct.product_code;
    shopDetail.merchandise  = billProduct.product_name;
Sandy's avatar
Sandy committed
453
    shopDetail.packageSpecification  =  [CalculateHelper getMoneyStringFrom:billProduct.qpc Lenth:0];
陈俊俊's avatar
陈俊俊 committed
454
    shopDetail.packageUnit = billProduct.unit;
Sandy's avatar
Sandy committed
455
    shopDetail.packageQuantity = [CalculateHelper getMoneyStringFrom:billProduct.qty Lenth:0];
陈俊俊's avatar
陈俊俊 committed
456
    shopDetail.packageUnitPrice  = billProduct.price;
Sandy's avatar
Sandy committed
457
    shopDetail.foundationQuantity= [CalculateHelper getMoneyStringFrom:billProduct.baseQty Lenth:0];
陈俊俊's avatar
陈俊俊 committed
458 459
    shopDetail.foundationUnitPrice= billProduct.basePrice;
    shopDetail.totalMoney= billProduct.total;
陈俊俊's avatar
陈俊俊 committed
460
    shopDetail.remark  = billProduct.remark;
陈俊俊's avatar
陈俊俊 committed
461
    shopDetail.packageQpcStr = billProduct.qpcStr;
陈俊俊's avatar
陈俊俊 committed
462
    shopDetail.packageQpcUnit = billProduct.baseUnit;
陈俊俊's avatar
陈俊俊 committed
463 464
    return shopDetail;
}
陈俊俊's avatar
陈俊俊 committed
465 466 467 468
- (NSMutableArray *)coverPurchaseBillProduct:(NSArray *)arr{
    NSMutableArray *billArr = [NSMutableArray array];
    for (NoticeProduct *product in arr) {
        PurchaseBillProduct *billProduct = [PurchaseBillProduct new];
Sandy's avatar
Sandy committed
469
        //        billProduct.uuid = product.uuid;
陈俊俊's avatar
陈俊俊 committed
470 471 472
        billProduct.product_name = product.productName;
        billProduct.product_uuid  = product.productUuid;
        billProduct.product_code = product.productCode;
陈俊俊's avatar
陈俊俊 committed
473
        billProduct.baseUnit = product.baseUnit;
陈俊俊's avatar
陈俊俊 committed
474 475 476 477 478 479 480
        billProduct.qpc = product.qpc;
        billProduct.unit = product.packUnit;
        billProduct.qty = [NSNumber numberWithFloat:0];
        billProduct.price = [NSNumber numberWithFloat:0];
        billProduct.baseQty = [NSNumber numberWithFloat:0];
        billProduct.basePrice = [NSNumber numberWithFloat:0];
        billProduct.total = [NSNumber numberWithFloat:0];
陈俊俊's avatar
陈俊俊 committed
481
        billProduct.remark = @"";
陈俊俊's avatar
陈俊俊 committed
482
        billProduct.qpcStr = [NSString stringWithFormat:@"1*%@",product.qpc];
陈俊俊's avatar
陈俊俊 committed
483 484 485 486
        [billArr addObject:billProduct];
    }
    return billArr;
}
n22's avatar
n22 committed
487

n22's avatar
n22 committed
488 489 490 491 492
#pragma mark - 协议方法
- (void)hiddenKeyBoard{
    [self keyboardHidden];
}
- (void)keyboardHidden{
n22's avatar
n22 committed
493
    [_purchaseView.otherPriceFiled resignFirstResponder];
n22's avatar
n22 committed
494 495
    [_purchaseView.remarkTextView resignFirstResponder];
}
陈俊俊's avatar
陈俊俊 committed
496 497 498 499 500 501 502
- (void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    if(self.purchaseBill && [self.state isEqualToString:PURCHASE_STATE_INITIAL]){
        [ICRUserUtil sharedInstance].needFresh = YES;
    }
}

陈俊俊's avatar
陈俊俊 committed
503 504 505 506 507 508
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (buttonIndex == 1) {
        [self getDataFromServer:PURCHASE_STATE_SUBMITTED msg:@"正在提交..."];//提交
    }
}

n22's avatar
n22 committed
509 510 511 512 513 514
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
Sandy's avatar
Sandy committed
515 516 517 518 519 520 521 522
 #pragma mark - Navigation
 
 // In a storyboard-based application, you will often want to do a little preparation before navigation
 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
 // Get the new view controller using [segue destinationViewController].
 // Pass the selected object to the new view controller.
 }
 */
n22's avatar
n22 committed
523 524

@end